001// -------------------------------------------------------------------------------- 002// Copyright 2002-2024 Echo Three, LLC 003// 004// Licensed under the Apache License, Version 2.0 (the "License"); 005// you may not use this file except in compliance with the License. 006// You may obtain a copy of the License at 007// 008// http://www.apache.org/licenses/LICENSE-2.0 009// 010// Unless required by applicable law or agreed to in writing, software 011// distributed under the License is distributed on an "AS IS" BASIS, 012// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013// See the License for the specific language governing permissions and 014// limitations under the License. 015// -------------------------------------------------------------------------------- 016// Generated File -- DO NOT EDIT BY HAND 017// -------------------------------------------------------------------------------- 018 019/** 020 * AssociateProgramDetailFactory.java 021 */ 022 023package com.echothree.model.data.associate.server.factory; 024 025import com.echothree.model.data.associate.common.pk.AssociateProgramPK; 026import com.echothree.model.data.sequence.common.pk.SequencePK; 027 028import com.echothree.model.data.associate.server.entity.AssociateProgram; 029import com.echothree.model.data.sequence.server.entity.Sequence; 030 031import com.echothree.model.data.associate.common.AssociateProgramDetailConstants; 032import com.echothree.model.data.associate.common.pk.AssociateProgramDetailPK; 033import com.echothree.model.data.associate.server.value.AssociateProgramDetailValue; 034import com.echothree.model.data.associate.server.entity.AssociateProgramDetail; 035import com.echothree.util.common.exception.PersistenceDatabaseException; 036import com.echothree.util.common.exception.PersistenceDatabaseUpdateException; 037import com.echothree.util.common.exception.PersistenceNotNullException; 038import com.echothree.util.server.persistence.BaseFactory; 039import com.echothree.util.server.persistence.EntityIdGenerator; 040import com.echothree.util.server.persistence.EntityPermission; 041import com.echothree.util.server.persistence.PersistenceDebugFlags; 042import com.echothree.util.server.persistence.Session; 043import com.echothree.util.server.persistence.ThreadSession; 044import java.sql.PreparedStatement; 045import java.sql.ResultSet; 046import java.sql.SQLException; 047import java.sql.Types; 048import java.io.ByteArrayInputStream; 049import java.io.StringReader; 050import java.util.ArrayList; 051import java.util.Collection; 052import java.util.HashSet; 053import java.util.List; 054import java.util.Map; 055import java.util.Set; 056import org.apache.commons.logging.Log; 057import org.apache.commons.logging.LogFactory; 058 059public class AssociateProgramDetailFactory 060 implements BaseFactory<AssociateProgramDetailPK, AssociateProgramDetail> { 061 062 //final private static Log log = LogFactory.getLog(AssociateProgramDetailFactory.class); 063 064 final private static String SQL_SELECT_READ_ONLY = "SELECT ascprgmdt_associateprogramdetailid, ascprgmdt_ascprgm_associateprogramid, ascprgmdt_associateprogramname, ascprgmdt_associatesequenceid, ascprgmdt_associatepartycontactmechanismsequenceid, ascprgmdt_associatereferralsequenceid, ascprgmdt_itemindirectsalepercent, ascprgmdt_itemdirectsalepercent, ascprgmdt_isdefault, ascprgmdt_sortorder, ascprgmdt_fromtime, ascprgmdt_thrutime FROM associateprogramdetails WHERE ascprgmdt_associateprogramdetailid = ?"; 065 final private static String SQL_SELECT_READ_WRITE = "SELECT ascprgmdt_associateprogramdetailid, ascprgmdt_ascprgm_associateprogramid, ascprgmdt_associateprogramname, ascprgmdt_associatesequenceid, ascprgmdt_associatepartycontactmechanismsequenceid, ascprgmdt_associatereferralsequenceid, ascprgmdt_itemindirectsalepercent, ascprgmdt_itemdirectsalepercent, ascprgmdt_isdefault, ascprgmdt_sortorder, ascprgmdt_fromtime, ascprgmdt_thrutime FROM associateprogramdetails WHERE ascprgmdt_associateprogramdetailid = ? FOR UPDATE"; 066 final private static String SQL_INSERT = "INSERT INTO associateprogramdetails (ascprgmdt_associateprogramdetailid, ascprgmdt_ascprgm_associateprogramid, ascprgmdt_associateprogramname, ascprgmdt_associatesequenceid, ascprgmdt_associatepartycontactmechanismsequenceid, ascprgmdt_associatereferralsequenceid, ascprgmdt_itemindirectsalepercent, ascprgmdt_itemdirectsalepercent, ascprgmdt_isdefault, ascprgmdt_sortorder, ascprgmdt_fromtime, ascprgmdt_thrutime) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; 067 final private static String SQL_UPDATE = "UPDATE associateprogramdetails SET ascprgmdt_ascprgm_associateprogramid = ?, ascprgmdt_associateprogramname = ?, ascprgmdt_associatesequenceid = ?, ascprgmdt_associatepartycontactmechanismsequenceid = ?, ascprgmdt_associatereferralsequenceid = ?, ascprgmdt_itemindirectsalepercent = ?, ascprgmdt_itemdirectsalepercent = ?, ascprgmdt_isdefault = ?, ascprgmdt_sortorder = ?, ascprgmdt_fromtime = ?, ascprgmdt_thrutime = ? WHERE ascprgmdt_associateprogramdetailid = ?"; 068 final private static String SQL_DELETE = "DELETE FROM associateprogramdetails WHERE ascprgmdt_associateprogramdetailid = ?"; 069 final private static String SQL_VALID = "SELECT COUNT(*) FROM associateprogramdetails WHERE ascprgmdt_associateprogramdetailid = ?"; 070 071 final private static String PK_COLUMN = "ascprgmdt_associateprogramdetailid"; 072 final private static String ALL_COLUMNS = "ascprgmdt_associateprogramdetailid, ascprgmdt_ascprgm_associateprogramid, ascprgmdt_associateprogramname, ascprgmdt_associatesequenceid, ascprgmdt_associatepartycontactmechanismsequenceid, ascprgmdt_associatereferralsequenceid, ascprgmdt_itemindirectsalepercent, ascprgmdt_itemdirectsalepercent, ascprgmdt_isdefault, ascprgmdt_sortorder, ascprgmdt_fromtime, ascprgmdt_thrutime"; 073 final public static String TABLE_NAME = "associateprogramdetails"; 074 075 final public static String ASCPRGMDT_ASSOCIATEPROGRAMDETAILID = "ascprgmdt_associateprogramdetailid"; 076 final public static String ASCPRGMDT_ASCPRGM_ASSOCIATEPROGRAMID = "ascprgmdt_ascprgm_associateprogramid"; 077 final public static String ASCPRGMDT_ASSOCIATEPROGRAMNAME = "ascprgmdt_associateprogramname"; 078 final public static String ASCPRGMDT_ASSOCIATESEQUENCEID = "ascprgmdt_associatesequenceid"; 079 final public static String ASCPRGMDT_ASSOCIATEPARTYCONTACTMECHANISMSEQUENCEID = "ascprgmdt_associatepartycontactmechanismsequenceid"; 080 final public static String ASCPRGMDT_ASSOCIATEREFERRALSEQUENCEID = "ascprgmdt_associatereferralsequenceid"; 081 final public static String ASCPRGMDT_ITEMINDIRECTSALEPERCENT = "ascprgmdt_itemindirectsalepercent"; 082 final public static String ASCPRGMDT_ITEMDIRECTSALEPERCENT = "ascprgmdt_itemdirectsalepercent"; 083 final public static String ASCPRGMDT_ISDEFAULT = "ascprgmdt_isdefault"; 084 final public static String ASCPRGMDT_SORTORDER = "ascprgmdt_sortorder"; 085 final public static String ASCPRGMDT_FROMTIME = "ascprgmdt_fromtime"; 086 final public static String ASCPRGMDT_THRUTIME = "ascprgmdt_thrutime"; 087 088 final private static EntityIdGenerator entityIdGenerator = new EntityIdGenerator(AssociateProgramDetailConstants.COMPONENT_VENDOR_NAME, AssociateProgramDetailConstants.ENTITY_TYPE_NAME); 089 090 /** Creates a new instance of AssociateProgramDetailFactory */ 091 private AssociateProgramDetailFactory() { 092 super(); 093 } 094 095 private static class AssociateProgramDetailFactoryHolder { 096 static AssociateProgramDetailFactory instance = new AssociateProgramDetailFactory(); 097 } 098 099 public static AssociateProgramDetailFactory getInstance() { 100 return AssociateProgramDetailFactoryHolder.instance; 101 } 102 103 @Override 104 public String getPKColumn() { 105 return PK_COLUMN; 106 } 107 108 @Override 109 public String getAllColumns() { 110 return ALL_COLUMNS; 111 } 112 113 @Override 114 public String getTableName() { 115 return TABLE_NAME; 116 } 117 118 @Override 119 public String getComponentVendorName() { 120 return AssociateProgramDetailConstants.COMPONENT_VENDOR_NAME; 121 } 122 123 @Override 124 public String getEntityTypeName() { 125 return AssociateProgramDetailConstants.ENTITY_TYPE_NAME; 126 } 127 128 public PreparedStatement prepareStatement(String query) { 129 return ThreadSession.currentSession().prepareStatement(AssociateProgramDetailFactory.class, query); 130 } 131 132 public AssociateProgramDetailPK getNextPK() { 133 return new AssociateProgramDetailPK(entityIdGenerator.getNextEntityId()); 134 } 135 136 public Set<AssociateProgramDetailPK> getPKsFromResultSetAsSet(ResultSet rs) 137 throws PersistenceDatabaseException { 138 Set<AssociateProgramDetailPK> _result = new HashSet<>(); 139 140 try { 141 while(rs.next()) { 142 _result.add(getPKFromResultSet(rs)); 143 } 144 } catch (SQLException se) { 145 throw new PersistenceDatabaseException(se); 146 } 147 148 return _result; 149 } 150 151 public java.util.List<AssociateProgramDetailPK> getPKsFromResultSetAsList(ResultSet rs) 152 throws PersistenceDatabaseException { 153 java.util.List<AssociateProgramDetailPK> _result = new ArrayList<>(); 154 155 try { 156 while(rs.next()) { 157 _result.add(getPKFromResultSet(rs)); 158 } 159 } catch (SQLException se) { 160 throw new PersistenceDatabaseException(se); 161 } 162 163 return _result; 164 } 165 166 public AssociateProgramDetailPK getPKFromResultSet(ResultSet rs) 167 throws PersistenceDatabaseException { 168 AssociateProgramDetailPK _result; 169 170 try { 171 long ascprgmdt_associateprogramdetailid = rs.getLong(ASCPRGMDT_ASSOCIATEPROGRAMDETAILID); 172 Long _entityId = rs.wasNull() ? null : ascprgmdt_associateprogramdetailid; 173 174 _result = new AssociateProgramDetailPK(_entityId); 175 } catch (SQLException se) { 176 throw new PersistenceDatabaseException(se); 177 } 178 179 return _result; 180 } 181 182 public java.util.List<AssociateProgramDetailValue> getValuesFromPKs(Session session, Collection<AssociateProgramDetailPK> pks) 183 throws PersistenceDatabaseException { 184 java.util.List<AssociateProgramDetailValue> _values = new ArrayList<>(pks.size()); 185 186 for(AssociateProgramDetailPK _pk: pks) { 187 _values.add(getValueFromPK(session, _pk)); 188 } 189 190 return _values; 191 } 192 193 public AssociateProgramDetailValue getValueFromPK(Session session, AssociateProgramDetailPK pk) 194 throws PersistenceDatabaseException { 195 AssociateProgramDetailValue _value; 196 197 // See if we already have the entity in the session cache 198 AssociateProgramDetail _entity = (AssociateProgramDetail)session.getEntity(pk); 199 if(_entity == null) 200 _value = getEntityFromPK(session, EntityPermission.READ_ONLY, pk).getAssociateProgramDetailValue(); 201 else 202 _value = _entity.getAssociateProgramDetailValue(); 203 204 return _value; 205 } 206 207 public java.util.List<AssociateProgramDetailValue> getValuesFromResultSet(Session session, ResultSet rs) 208 throws PersistenceDatabaseException { 209 java.util.List<AssociateProgramDetailValue> _result = new ArrayList<>(); 210 211 try { 212 while(rs.next()) { 213 _result.add(getValueFromResultSet(session, rs)); 214 } 215 } catch (SQLException se) { 216 throw new PersistenceDatabaseException(se); 217 } 218 219 return _result; 220 } 221 222 public AssociateProgramDetailValue getValueFromResultSet(Session session, ResultSet rs) 223 throws PersistenceDatabaseException { 224 AssociateProgramDetailValue _value; 225 226 try { 227 Long ascprgmdt_associateprogramdetailid = rs.getLong(ASCPRGMDT_ASSOCIATEPROGRAMDETAILID); 228 AssociateProgramDetailPK _pk = new AssociateProgramDetailPK(ascprgmdt_associateprogramdetailid); 229 230 // See if we already have the entity in the session cache 231 AssociateProgramDetail _entity = (AssociateProgramDetail)session.getEntity(_pk); 232 233 if(_entity == null) { 234 Long ascprgmdt_ascprgm_associateprogramid = rs.getLong(ASCPRGMDT_ASCPRGM_ASSOCIATEPROGRAMID); 235 if(rs.wasNull()) 236 ascprgmdt_ascprgm_associateprogramid = null; 237 238 String ascprgmdt_associateprogramname = rs.getString(ASCPRGMDT_ASSOCIATEPROGRAMNAME); 239 if(rs.wasNull()) 240 ascprgmdt_associateprogramname = null; 241 242 Long ascprgmdt_associatesequenceid = rs.getLong(ASCPRGMDT_ASSOCIATESEQUENCEID); 243 if(rs.wasNull()) 244 ascprgmdt_associatesequenceid = null; 245 246 Long ascprgmdt_associatepartycontactmechanismsequenceid = rs.getLong(ASCPRGMDT_ASSOCIATEPARTYCONTACTMECHANISMSEQUENCEID); 247 if(rs.wasNull()) 248 ascprgmdt_associatepartycontactmechanismsequenceid = null; 249 250 Long ascprgmdt_associatereferralsequenceid = rs.getLong(ASCPRGMDT_ASSOCIATEREFERRALSEQUENCEID); 251 if(rs.wasNull()) 252 ascprgmdt_associatereferralsequenceid = null; 253 254 Integer ascprgmdt_itemindirectsalepercent = rs.getInt(ASCPRGMDT_ITEMINDIRECTSALEPERCENT); 255 if(rs.wasNull()) 256 ascprgmdt_itemindirectsalepercent = null; 257 258 Integer ascprgmdt_itemdirectsalepercent = rs.getInt(ASCPRGMDT_ITEMDIRECTSALEPERCENT); 259 if(rs.wasNull()) 260 ascprgmdt_itemdirectsalepercent = null; 261 262 Boolean ascprgmdt_isdefault = rs.getInt(ASCPRGMDT_ISDEFAULT) == 1; 263 if(rs.wasNull()) 264 ascprgmdt_isdefault = null; 265 266 Integer ascprgmdt_sortorder = rs.getInt(ASCPRGMDT_SORTORDER); 267 if(rs.wasNull()) 268 ascprgmdt_sortorder = null; 269 270 Long ascprgmdt_fromtime = rs.getLong(ASCPRGMDT_FROMTIME); 271 if(rs.wasNull()) 272 ascprgmdt_fromtime = null; 273 274 Long ascprgmdt_thrutime = rs.getLong(ASCPRGMDT_THRUTIME); 275 if(rs.wasNull()) 276 ascprgmdt_thrutime = null; 277 278 _value = new AssociateProgramDetailValue(_pk, new AssociateProgramPK(ascprgmdt_ascprgm_associateprogramid), ascprgmdt_associateprogramname, new SequencePK(ascprgmdt_associatesequenceid), new SequencePK(ascprgmdt_associatepartycontactmechanismsequenceid), new SequencePK(ascprgmdt_associatereferralsequenceid), ascprgmdt_itemindirectsalepercent, ascprgmdt_itemdirectsalepercent, ascprgmdt_isdefault, ascprgmdt_sortorder, ascprgmdt_fromtime, ascprgmdt_thrutime); 279 } else 280 _value = _entity.getAssociateProgramDetailValue(); 281 } catch (SQLException se) { 282 throw new PersistenceDatabaseException(se); 283 } 284 285 return _value; 286 } 287 288 public java.util.List<AssociateProgramDetail> getEntitiesFromPKs(EntityPermission entityPermission, Collection<AssociateProgramDetailPK> pks) 289 throws PersistenceDatabaseException { 290 return getEntitiesFromPKs(ThreadSession.currentSession(), entityPermission, pks); 291 } 292 293 public java.util.List<AssociateProgramDetail> getEntitiesFromPKs(Session session, EntityPermission entityPermission, Collection<AssociateProgramDetailPK> pks) 294 throws PersistenceDatabaseException { 295 java.util.List<AssociateProgramDetail> _entities = new ArrayList<>(pks.size()); 296 297 for(AssociateProgramDetailPK _pk: pks) { 298 _entities.add(getEntityFromPK(session, entityPermission, _pk)); 299 } 300 301 return _entities; 302 } 303 304 public AssociateProgramDetail getEntityFromValue(EntityPermission entityPermission, AssociateProgramDetailValue value) { 305 return getEntityFromPK(ThreadSession.currentSession(), entityPermission, value.getPrimaryKey()); 306 } 307 308 public AssociateProgramDetail getEntityFromValue(Session session, EntityPermission entityPermission, AssociateProgramDetailValue value) { 309 return getEntityFromPK(session, entityPermission, value.getPrimaryKey()); 310 } 311 312 public AssociateProgramDetail getEntityFromPK(EntityPermission entityPermission, AssociateProgramDetailPK pk) 313 throws PersistenceDatabaseException { 314 return getEntityFromPK(ThreadSession.currentSession(), entityPermission, pk); 315 } 316 317 public AssociateProgramDetail getEntityFromCache(Session session, AssociateProgramDetailPK pk) { 318 AssociateProgramDetailValue _value = (AssociateProgramDetailValue)session.getValueCache().get(pk); 319 320 return _value == null ? null : new AssociateProgramDetail(_value, EntityPermission.READ_ONLY); 321 } 322 323 public AssociateProgramDetail getEntityFromPK(Session session, EntityPermission entityPermission, AssociateProgramDetailPK pk) 324 throws PersistenceDatabaseException { 325 AssociateProgramDetail _entity; 326 327 // See if we already have the entity in the session cache 328 _entity = (AssociateProgramDetail)session.getEntity(pk); 329 if(_entity != null) { 330 // If the requested permission is READ_WRITE, and the cached permission is 331 // READ_ONLY, then pretend that the cached object wasn't found, and create 332 // a new entity that is READ_WRITE. 333 if(entityPermission.equals(EntityPermission.READ_WRITE)) { 334 if(_entity.getEntityPermission().equals(EntityPermission.READ_ONLY)) 335 _entity = null; 336 } 337 } 338 339 if(_entity == null && entityPermission.equals(EntityPermission.READ_ONLY)) { 340 _entity = getEntityFromCache(session, pk); 341 } 342 343 if(_entity == null) { 344 PreparedStatement _ps = session.prepareStatement(entityPermission.equals(EntityPermission.READ_ONLY)? SQL_SELECT_READ_ONLY: SQL_SELECT_READ_WRITE); 345 long _entityId = pk.getEntityId(); 346 ResultSet _rs = null; 347 348 try { 349 _ps.setLong(1, _entityId); 350 _rs = _ps.executeQuery(); 351 if(_rs.next()) { 352 _entity = getEntityFromResultSet(session, entityPermission, _rs); 353 } 354 } catch (SQLException se) { 355 throw new PersistenceDatabaseException(se); 356 } finally { 357 if(_rs != null) { 358 try { 359 _rs.close(); 360 } catch (SQLException se) { 361 // do nothing 362 } 363 } 364 } 365 } 366 367 return _entity; 368 } 369 370 public Set<AssociateProgramDetailPK> getPKsFromQueryAsSet(PreparedStatement ps, final Object... params) 371 throws PersistenceDatabaseException { 372 Set<AssociateProgramDetailPK> _pks; 373 ResultSet _rs = null; 374 375 try { 376 if(params.length != 0) { 377 Session.setQueryParams(ps, params); 378 } 379 380 _rs = ps.executeQuery(); 381 _pks = getPKsFromResultSetAsSet(_rs); 382 _rs.close(); 383 } catch (SQLException se) { 384 throw new PersistenceDatabaseException(se); 385 } finally { 386 if(_rs != null) { 387 try { 388 _rs.close(); 389 } catch (SQLException se) { 390 // do nothing 391 } 392 } 393 } 394 395 return _pks; 396 } 397 398 public java.util.List<AssociateProgramDetailPK> getPKsFromQueryAsList(PreparedStatement ps, final Object... params) 399 throws PersistenceDatabaseException { 400 java.util.List<AssociateProgramDetailPK> _pks; 401 ResultSet _rs = null; 402 403 try { 404 if(params.length != 0) { 405 Session.setQueryParams(ps, params); 406 } 407 408 _rs = ps.executeQuery(); 409 _pks = getPKsFromResultSetAsList(_rs); 410 _rs.close(); 411 } catch (SQLException se) { 412 throw new PersistenceDatabaseException(se); 413 } finally { 414 if(_rs != null) { 415 try { 416 _rs.close(); 417 } catch (SQLException se) { 418 // do nothing 419 } 420 } 421 } 422 423 return _pks; 424 } 425 426 public AssociateProgramDetailPK getPKFromQuery(PreparedStatement ps, final Object... params) 427 throws PersistenceDatabaseException { 428 AssociateProgramDetailPK _pk = null; 429 ResultSet _rs = null; 430 431 try { 432 if(params.length != 0) { 433 Session.setQueryParams(ps, params); 434 } 435 436 _rs = ps.executeQuery(); 437 if(_rs.next()) { 438 _pk = getPKFromResultSet(_rs); 439 } 440 _rs.close(); 441 } catch (SQLException se) { 442 throw new PersistenceDatabaseException(se); 443 } finally { 444 if(_rs != null) { 445 try { 446 _rs.close(); 447 } catch (SQLException se) { 448 // do nothing 449 } 450 } 451 } 452 453 return _pk; 454 } 455 456 public java.util.List<AssociateProgramDetail> getEntitiesFromQuery(Session session, EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 457 throws PersistenceDatabaseException { 458 PreparedStatement ps = session.prepareStatement(AssociateProgramDetailFactory.class, queryMap.get(entityPermission)); 459 460 return getEntitiesFromQuery(session, entityPermission, ps, params); 461 } 462 463 public java.util.List<AssociateProgramDetail> getEntitiesFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 464 throws PersistenceDatabaseException { 465 Session session = ThreadSession.currentSession(); 466 PreparedStatement ps = session.prepareStatement(AssociateProgramDetailFactory.class, queryMap.get(entityPermission)); 467 468 return getEntitiesFromQuery(session, entityPermission, ps, params); 469 } 470 471 public java.util.List<AssociateProgramDetail> getEntitiesFromQuery(Session session, EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 472 throws PersistenceDatabaseException { 473 PreparedStatement ps = session.prepareStatement(AssociateProgramDetailFactory.class, queryMap.get(entityPermission)); 474 475 return getEntitiesFromQuery(session, entityPermission, ps); 476 } 477 478 public java.util.List<AssociateProgramDetail> getEntitiesFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 479 throws PersistenceDatabaseException { 480 Session session = ThreadSession.currentSession(); 481 PreparedStatement ps = session.prepareStatement(AssociateProgramDetailFactory.class, queryMap.get(entityPermission)); 482 483 return getEntitiesFromQuery(session, entityPermission, ps); 484 } 485 486 public java.util.List<AssociateProgramDetail> getEntitiesFromQuery(EntityPermission entityPermission, PreparedStatement ps) 487 throws PersistenceDatabaseException { 488 return getEntitiesFromQuery(ThreadSession.currentSession(), entityPermission, ps); 489 } 490 491 public java.util.List<AssociateProgramDetail> getEntitiesFromQuery(EntityPermission entityPermission, PreparedStatement ps, final Object... params) 492 throws PersistenceDatabaseException { 493 return getEntitiesFromQuery(ThreadSession.currentSession(), entityPermission, ps, params); 494 } 495 496 public java.util.List<AssociateProgramDetail> getEntitiesFromQuery(Session session, EntityPermission entityPermission, PreparedStatement ps, final Object... params) 497 throws PersistenceDatabaseException { 498 java.util.List<AssociateProgramDetail> _entities; 499 ResultSet _rs = null; 500 501 try { 502 if(params.length != 0) { 503 Session.setQueryParams(ps, params); 504 } 505 506 _rs = ps.executeQuery(); 507 _entities = getEntitiesFromResultSet(session, entityPermission, _rs); 508 _rs.close(); 509 } catch (SQLException se) { 510 throw new PersistenceDatabaseException(se); 511 } finally { 512 if(_rs != null) { 513 try { 514 _rs.close(); 515 } catch (SQLException se) { 516 // do nothing 517 } 518 } 519 } 520 521 return _entities; 522 } 523 524 public AssociateProgramDetail getEntityFromQuery(Session session, EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 525 throws PersistenceDatabaseException { 526 PreparedStatement ps = session.prepareStatement(AssociateProgramDetailFactory.class, queryMap.get(entityPermission)); 527 528 return getEntityFromQuery(session, entityPermission, ps, params); 529 } 530 531 public AssociateProgramDetail getEntityFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 532 throws PersistenceDatabaseException { 533 Session session = ThreadSession.currentSession(); 534 PreparedStatement ps = session.prepareStatement(AssociateProgramDetailFactory.class, queryMap.get(entityPermission)); 535 536 return getEntityFromQuery(session, entityPermission, ps, params); 537 } 538 539 public AssociateProgramDetail getEntityFromQuery(Session session, EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 540 throws PersistenceDatabaseException { 541 PreparedStatement ps = session.prepareStatement(AssociateProgramDetailFactory.class, queryMap.get(entityPermission)); 542 543 return getEntityFromQuery(session, entityPermission, ps); 544 } 545 546 public AssociateProgramDetail getEntityFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 547 throws PersistenceDatabaseException { 548 Session session = ThreadSession.currentSession(); 549 PreparedStatement ps = session.prepareStatement(AssociateProgramDetailFactory.class, queryMap.get(entityPermission)); 550 551 return getEntityFromQuery(session, entityPermission, ps); 552 } 553 554 public AssociateProgramDetail getEntityFromQuery(EntityPermission entityPermission, PreparedStatement ps) 555 throws PersistenceDatabaseException { 556 return getEntityFromQuery(ThreadSession.currentSession(), entityPermission, ps); 557 } 558 559 public AssociateProgramDetail getEntityFromQuery(EntityPermission entityPermission, PreparedStatement ps, final Object... params) 560 throws PersistenceDatabaseException { 561 return getEntityFromQuery(ThreadSession.currentSession(), entityPermission, ps, params); 562 } 563 564 public AssociateProgramDetail getEntityFromQuery(Session session, EntityPermission entityPermission, PreparedStatement ps, final Object... params) 565 throws PersistenceDatabaseException { 566 AssociateProgramDetail _entity = null; 567 ResultSet _rs = null; 568 569 try { 570 if(params.length != 0) { 571 Session.setQueryParams(ps, params); 572 } 573 574 _rs = ps.executeQuery(); 575 if(_rs.next()) { 576 _entity = getEntityFromResultSet(session, entityPermission, _rs); 577 } 578 _rs.close(); 579 } catch (SQLException se) { 580 throw new PersistenceDatabaseException(se); 581 } finally { 582 if(_rs != null) { 583 try { 584 _rs.close(); 585 } catch (SQLException se) { 586 // do nothing 587 } 588 } 589 } 590 591 return _entity; 592 } 593 594 public java.util.List<AssociateProgramDetail> getEntitiesFromResultSet(EntityPermission entityPermission, ResultSet rs) 595 throws PersistenceDatabaseException { 596 return getEntitiesFromResultSet(ThreadSession.currentSession(), entityPermission, rs); 597 } 598 599 public java.util.List<AssociateProgramDetail> getEntitiesFromResultSet(Session session, EntityPermission entityPermission, ResultSet rs) 600 throws PersistenceDatabaseException { 601 java.util.List<AssociateProgramDetail> _result = new ArrayList<>(); 602 603 try { 604 while(rs.next()) { 605 _result.add(getEntityFromResultSet(session, entityPermission, rs)); 606 } 607 } catch (SQLException se) { 608 throw new PersistenceDatabaseException(se); 609 } 610 611 return _result; 612 } 613 614 public AssociateProgramDetail getEntityFromResultSet(EntityPermission entityPermission, ResultSet rs) 615 throws PersistenceDatabaseException { 616 return getEntityFromResultSet(ThreadSession.currentSession(), entityPermission, rs); 617 } 618 619 public AssociateProgramDetail getEntityFromResultSet(Session session, EntityPermission entityPermission, ResultSet rs) 620 throws PersistenceDatabaseException { 621 AssociateProgramDetail _entity; 622 623 try { 624 Long ascprgmdt_associateprogramdetailid = rs.getLong(ASCPRGMDT_ASSOCIATEPROGRAMDETAILID); 625 AssociateProgramDetailPK _pk = new AssociateProgramDetailPK(ascprgmdt_associateprogramdetailid); 626 627 // See if we already have the entity in the session cache 628 _entity = (AssociateProgramDetail)session.getEntity(_pk); 629 if(_entity != null) { 630 // If the requested permission is READ_WRITE, and the cached permission is 631 // READ_ONLY, then pretend that the cached object wasn't found, and create 632 // a new entity that is READ_WRITE. 633 if(entityPermission.equals(EntityPermission.READ_WRITE)) { 634 if(_entity.getEntityPermission().equals(EntityPermission.READ_ONLY)) 635 _entity = null; 636 } 637 } 638 boolean foundInSessionCache = _entity != null; 639 640 if(_entity == null && entityPermission.equals(EntityPermission.READ_ONLY)) { 641 _entity = getEntityFromCache(session, _pk); 642 } 643 644 if(_entity == null) { 645 Long ascprgmdt_ascprgm_associateprogramid = rs.getLong(ASCPRGMDT_ASCPRGM_ASSOCIATEPROGRAMID); 646 if(rs.wasNull()) 647 ascprgmdt_ascprgm_associateprogramid = null; 648 649 String ascprgmdt_associateprogramname = rs.getString(ASCPRGMDT_ASSOCIATEPROGRAMNAME); 650 if(rs.wasNull()) 651 ascprgmdt_associateprogramname = null; 652 653 Long ascprgmdt_associatesequenceid = rs.getLong(ASCPRGMDT_ASSOCIATESEQUENCEID); 654 if(rs.wasNull()) 655 ascprgmdt_associatesequenceid = null; 656 657 Long ascprgmdt_associatepartycontactmechanismsequenceid = rs.getLong(ASCPRGMDT_ASSOCIATEPARTYCONTACTMECHANISMSEQUENCEID); 658 if(rs.wasNull()) 659 ascprgmdt_associatepartycontactmechanismsequenceid = null; 660 661 Long ascprgmdt_associatereferralsequenceid = rs.getLong(ASCPRGMDT_ASSOCIATEREFERRALSEQUENCEID); 662 if(rs.wasNull()) 663 ascprgmdt_associatereferralsequenceid = null; 664 665 Integer ascprgmdt_itemindirectsalepercent = rs.getInt(ASCPRGMDT_ITEMINDIRECTSALEPERCENT); 666 if(rs.wasNull()) 667 ascprgmdt_itemindirectsalepercent = null; 668 669 Integer ascprgmdt_itemdirectsalepercent = rs.getInt(ASCPRGMDT_ITEMDIRECTSALEPERCENT); 670 if(rs.wasNull()) 671 ascprgmdt_itemdirectsalepercent = null; 672 673 Boolean ascprgmdt_isdefault = rs.getInt(ASCPRGMDT_ISDEFAULT) == 1; 674 if(rs.wasNull()) 675 ascprgmdt_isdefault = null; 676 677 Integer ascprgmdt_sortorder = rs.getInt(ASCPRGMDT_SORTORDER); 678 if(rs.wasNull()) 679 ascprgmdt_sortorder = null; 680 681 Long ascprgmdt_fromtime = rs.getLong(ASCPRGMDT_FROMTIME); 682 if(rs.wasNull()) 683 ascprgmdt_fromtime = null; 684 685 Long ascprgmdt_thrutime = rs.getLong(ASCPRGMDT_THRUTIME); 686 if(rs.wasNull()) 687 ascprgmdt_thrutime = null; 688 689 AssociateProgramDetailValue _value = new AssociateProgramDetailValue(_pk, ascprgmdt_ascprgm_associateprogramid == null? null: new AssociateProgramPK(ascprgmdt_ascprgm_associateprogramid), ascprgmdt_associateprogramname, ascprgmdt_associatesequenceid == null? null: new SequencePK(ascprgmdt_associatesequenceid), ascprgmdt_associatepartycontactmechanismsequenceid == null? null: new SequencePK(ascprgmdt_associatepartycontactmechanismsequenceid), ascprgmdt_associatereferralsequenceid == null? null: new SequencePK(ascprgmdt_associatereferralsequenceid), ascprgmdt_itemindirectsalepercent, ascprgmdt_itemdirectsalepercent, ascprgmdt_isdefault, ascprgmdt_sortorder, ascprgmdt_fromtime, ascprgmdt_thrutime); 690 _entity = new AssociateProgramDetail(_value, entityPermission); 691 } 692 693 if(!foundInSessionCache) { 694 if(entityPermission.equals(EntityPermission.READ_ONLY)) { 695 session.putReadOnlyEntity(_pk, _entity); 696 session.getValueCache().put(_entity.getAssociateProgramDetailValue()); 697 } else { 698 session.putReadWriteEntity(_pk, _entity); 699 } 700 } 701 } catch (SQLException se) { 702 throw new PersistenceDatabaseException(se); 703 } 704 705 return _entity; 706 } 707 708 public AssociateProgramDetail create(Session session, AssociateProgram associateProgram, String associateProgramName, Sequence associateSequence, Sequence associatePartyContactMechanismSequence, Sequence associateReferralSequence, Integer itemIndirectSalePercent, Integer itemDirectSalePercent, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime) 709 throws PersistenceDatabaseException, PersistenceNotNullException { 710 return create(session, associateProgram == null ? null : associateProgram.getPrimaryKey(), associateProgramName, associateSequence == null ? null : associateSequence.getPrimaryKey(), associatePartyContactMechanismSequence == null ? null : associatePartyContactMechanismSequence.getPrimaryKey(), associateReferralSequence == null ? null : associateReferralSequence.getPrimaryKey(), itemIndirectSalePercent, itemDirectSalePercent, isDefault, sortOrder, fromTime, thruTime); 711 } 712 713 public AssociateProgramDetail create(AssociateProgram associateProgram, String associateProgramName, Sequence associateSequence, Sequence associatePartyContactMechanismSequence, Sequence associateReferralSequence, Integer itemIndirectSalePercent, Integer itemDirectSalePercent, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime) 714 throws PersistenceDatabaseException, PersistenceNotNullException { 715 return create(ThreadSession.currentSession(), associateProgram == null ? null : associateProgram.getPrimaryKey(), associateProgramName, associateSequence == null ? null : associateSequence.getPrimaryKey(), associatePartyContactMechanismSequence == null ? null : associatePartyContactMechanismSequence.getPrimaryKey(), associateReferralSequence == null ? null : associateReferralSequence.getPrimaryKey(), itemIndirectSalePercent, itemDirectSalePercent, isDefault, sortOrder, fromTime, thruTime); 716 } 717 718 private void bindForCreate(PreparedStatement _ps, AssociateProgramDetailValue _value) 719 throws SQLException { 720 _ps.setLong(1, _value.getEntityId()); 721 722 AssociateProgramPK ascprgmdt_ascprgm_associateprogramid = _value.getAssociateProgramPK(); 723 if(ascprgmdt_ascprgm_associateprogramid == null) 724 _ps.setNull(2, Types.BIGINT); 725 else 726 _ps.setLong(2, ascprgmdt_ascprgm_associateprogramid.getEntityId()); 727 728 String ascprgmdt_associateprogramname = _value.getAssociateProgramName(); 729 if(ascprgmdt_associateprogramname == null) 730 _ps.setNull(3, Types.VARCHAR); 731 else 732 _ps.setString(3, ascprgmdt_associateprogramname); 733 734 SequencePK ascprgmdt_associatesequenceid = _value.getAssociateSequencePK(); 735 if(ascprgmdt_associatesequenceid == null) 736 _ps.setNull(4, Types.BIGINT); 737 else 738 _ps.setLong(4, ascprgmdt_associatesequenceid.getEntityId()); 739 740 SequencePK ascprgmdt_associatepartycontactmechanismsequenceid = _value.getAssociatePartyContactMechanismSequencePK(); 741 if(ascprgmdt_associatepartycontactmechanismsequenceid == null) 742 _ps.setNull(5, Types.BIGINT); 743 else 744 _ps.setLong(5, ascprgmdt_associatepartycontactmechanismsequenceid.getEntityId()); 745 746 SequencePK ascprgmdt_associatereferralsequenceid = _value.getAssociateReferralSequencePK(); 747 if(ascprgmdt_associatereferralsequenceid == null) 748 _ps.setNull(6, Types.BIGINT); 749 else 750 _ps.setLong(6, ascprgmdt_associatereferralsequenceid.getEntityId()); 751 752 Integer ascprgmdt_itemindirectsalepercent = _value.getItemIndirectSalePercent(); 753 if(ascprgmdt_itemindirectsalepercent == null) 754 _ps.setNull(7, Types.INTEGER); 755 else 756 _ps.setInt(7, ascprgmdt_itemindirectsalepercent); 757 758 Integer ascprgmdt_itemdirectsalepercent = _value.getItemDirectSalePercent(); 759 if(ascprgmdt_itemdirectsalepercent == null) 760 _ps.setNull(8, Types.INTEGER); 761 else 762 _ps.setInt(8, ascprgmdt_itemdirectsalepercent); 763 764 Boolean ascprgmdt_isdefault = _value.getIsDefault(); 765 if(ascprgmdt_isdefault == null) 766 _ps.setNull(9, Types.BIT); 767 else 768 _ps.setInt(9, ascprgmdt_isdefault? 1: 0); 769 770 Integer ascprgmdt_sortorder = _value.getSortOrder(); 771 if(ascprgmdt_sortorder == null) 772 _ps.setNull(10, Types.INTEGER); 773 else 774 _ps.setInt(10, ascprgmdt_sortorder); 775 776 Long ascprgmdt_fromtime = _value.getFromTime(); 777 if(ascprgmdt_fromtime == null) 778 _ps.setNull(11, Types.BIGINT); 779 else 780 _ps.setLong(11, ascprgmdt_fromtime); 781 782 Long ascprgmdt_thrutime = _value.getThruTime(); 783 if(ascprgmdt_thrutime == null) 784 _ps.setNull(12, Types.BIGINT); 785 else 786 _ps.setLong(12, ascprgmdt_thrutime); 787 788 } 789 790 public AssociateProgramDetail create(Session session, AssociateProgramPK associateProgramPK, String associateProgramName, SequencePK associateSequencePK, SequencePK associatePartyContactMechanismSequencePK, SequencePK associateReferralSequencePK, Integer itemIndirectSalePercent, Integer itemDirectSalePercent, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime) 791 throws PersistenceDatabaseException, PersistenceNotNullException { 792 AssociateProgramDetailPK _pk = getNextPK(); 793 AssociateProgramDetailValue _value = new AssociateProgramDetailValue(_pk, associateProgramPK, associateProgramName, associateSequencePK, associatePartyContactMechanismSequencePK, associateReferralSequencePK, itemIndirectSalePercent, itemDirectSalePercent, isDefault, sortOrder, fromTime, thruTime); 794 795 PreparedStatement _ps = session.prepareStatement(SQL_INSERT); 796 797 try { 798 bindForCreate(_ps, _value); 799 800 if(PersistenceDebugFlags.CheckEntityInsertRowCount) { 801 int _count = _ps.executeUpdate(); 802 803 if(_count != 1) { 804 throw new PersistenceDatabaseUpdateException("insert failed, _count = " + _count); 805 } 806 } else { 807 _ps.executeUpdate(); 808 } 809 810 session.getValueCache().put(_value); 811 } catch (SQLException se) { 812 throw new PersistenceDatabaseException(se); 813 } 814 815 AssociateProgramDetail _entity = new AssociateProgramDetail(_value, EntityPermission.READ_ONLY); 816 session.putReadOnlyEntity(_pk, _entity); 817 818 return _entity; 819 } 820 821 public AssociateProgramDetail create(AssociateProgramPK associateProgramPK, String associateProgramName, SequencePK associateSequencePK, SequencePK associatePartyContactMechanismSequencePK, SequencePK associateReferralSequencePK, Integer itemIndirectSalePercent, Integer itemDirectSalePercent, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime) 822 throws PersistenceDatabaseException, PersistenceNotNullException { 823 return create(ThreadSession.currentSession(), associateProgramPK, associateProgramName, associateSequencePK, associatePartyContactMechanismSequencePK, associateReferralSequencePK, itemIndirectSalePercent, itemDirectSalePercent, isDefault, sortOrder, fromTime, thruTime); 824 } 825 826 public void create(Session session, Collection<AssociateProgramDetailValue> _values) 827 throws PersistenceDatabaseException, PersistenceNotNullException { 828 int _size = _values.size(); 829 830 if(_size > 0) { 831 PreparedStatement _ps = session.prepareStatement(SQL_INSERT); 832 List<AssociateProgramDetailValue> _cacheValues = new ArrayList<>(_size); 833 834 try { 835 for(AssociateProgramDetailValue _value : _values) { 836 _value.setEntityId(entityIdGenerator.getNextEntityId()); 837 bindForCreate(_ps, _value); 838 839 _ps.addBatch(); 840 841 _cacheValues.add(_value); 842 } 843 844 if(PersistenceDebugFlags.CheckEntityInsertRowCount) { 845 int[] _counts = _ps.executeBatch(); 846 847 for(int _countOffset = 0 ; _countOffset < _size ; _countOffset++) { 848 if(_counts[_countOffset] != 1 && _counts[_countOffset] != PreparedStatement.SUCCESS_NO_INFO) { 849 throw new PersistenceDatabaseUpdateException("batch insert failed, _counts[" + _countOffset + "] = " + _counts[_countOffset]); 850 } 851 } 852 } else { 853 _ps.executeBatch(); 854 } 855 856 _ps.clearBatch(); 857 } catch (SQLException se) { 858 throw new PersistenceDatabaseException(se); 859 } 860 861 _cacheValues.forEach((_cacheValue) -> { 862 AssociateProgramDetail _cacheEntity = new AssociateProgramDetail(_cacheValue, EntityPermission.READ_ONLY); 863 864 session.putReadOnlyEntity(_cacheValue.getPrimaryKey(), _cacheEntity); 865 }); 866 } 867 } 868 869 public void create(Collection<AssociateProgramDetailValue> _values) 870 throws PersistenceDatabaseException, PersistenceNotNullException { 871 create(ThreadSession.currentSession(), _values); 872 } 873 874 private boolean bindForStore(PreparedStatement _ps, AssociateProgramDetailValue _value) 875 throws SQLException { 876 boolean _hasBeenModified = _value.hasBeenModified(); 877 878 if(_hasBeenModified) { 879 AssociateProgramPK ascprgmdt_ascprgm_associateprogramid = _value.getAssociateProgramPK(); 880 if(ascprgmdt_ascprgm_associateprogramid == null) 881 _ps.setNull(1, Types.BIGINT); 882 else 883 _ps.setLong(1, ascprgmdt_ascprgm_associateprogramid.getEntityId()); 884 885 String ascprgmdt_associateprogramname = _value.getAssociateProgramName(); 886 if(ascprgmdt_associateprogramname == null) 887 _ps.setNull(2, Types.VARCHAR); 888 else 889 _ps.setString(2, ascprgmdt_associateprogramname); 890 891 SequencePK ascprgmdt_associatesequenceid = _value.getAssociateSequencePK(); 892 if(ascprgmdt_associatesequenceid == null) 893 _ps.setNull(3, Types.BIGINT); 894 else 895 _ps.setLong(3, ascprgmdt_associatesequenceid.getEntityId()); 896 897 SequencePK ascprgmdt_associatepartycontactmechanismsequenceid = _value.getAssociatePartyContactMechanismSequencePK(); 898 if(ascprgmdt_associatepartycontactmechanismsequenceid == null) 899 _ps.setNull(4, Types.BIGINT); 900 else 901 _ps.setLong(4, ascprgmdt_associatepartycontactmechanismsequenceid.getEntityId()); 902 903 SequencePK ascprgmdt_associatereferralsequenceid = _value.getAssociateReferralSequencePK(); 904 if(ascprgmdt_associatereferralsequenceid == null) 905 _ps.setNull(5, Types.BIGINT); 906 else 907 _ps.setLong(5, ascprgmdt_associatereferralsequenceid.getEntityId()); 908 909 Integer ascprgmdt_itemindirectsalepercent = _value.getItemIndirectSalePercent(); 910 if(ascprgmdt_itemindirectsalepercent == null) 911 _ps.setNull(6, Types.INTEGER); 912 else 913 _ps.setInt(6, ascprgmdt_itemindirectsalepercent); 914 915 Integer ascprgmdt_itemdirectsalepercent = _value.getItemDirectSalePercent(); 916 if(ascprgmdt_itemdirectsalepercent == null) 917 _ps.setNull(7, Types.INTEGER); 918 else 919 _ps.setInt(7, ascprgmdt_itemdirectsalepercent); 920 921 Boolean ascprgmdt_isdefault = _value.getIsDefault(); 922 if(ascprgmdt_isdefault == null) 923 _ps.setNull(8, Types.BIT); 924 else 925 _ps.setInt(8, ascprgmdt_isdefault? 1: 0); 926 927 Integer ascprgmdt_sortorder = _value.getSortOrder(); 928 if(ascprgmdt_sortorder == null) 929 _ps.setNull(9, Types.INTEGER); 930 else 931 _ps.setInt(9, ascprgmdt_sortorder); 932 933 Long ascprgmdt_fromtime = _value.getFromTime(); 934 if(ascprgmdt_fromtime == null) 935 _ps.setNull(10, Types.BIGINT); 936 else 937 _ps.setLong(10, ascprgmdt_fromtime); 938 939 Long ascprgmdt_thrutime = _value.getThruTime(); 940 if(ascprgmdt_thrutime == null) 941 _ps.setNull(11, Types.BIGINT); 942 else 943 _ps.setLong(11, ascprgmdt_thrutime); 944 945 _ps.setLong(12, _value.getPrimaryKey().getEntityId()); 946 947 _value.clearHasBeenModified(); 948 } 949 950 return _hasBeenModified; 951 } 952 953 @Override 954 public void store(Session session, AssociateProgramDetail entity) 955 throws PersistenceDatabaseException { 956 PreparedStatement _ps = session.prepareStatement(SQL_UPDATE); 957 958 try { 959 AssociateProgramDetailValue _value = entity.getAssociateProgramDetailValue(); 960 961 if(bindForStore(_ps, _value)) { 962 if(PersistenceDebugFlags.CheckEntityUpdateRowCount) { 963 int _count = _ps.executeUpdate(); 964 965 if(_count != 1) { 966 throw new PersistenceDatabaseUpdateException("update failed, _count = " + _count); 967 } 968 } else { 969 _ps.executeUpdate(); 970 } 971 972 session.getValueCache().put(_value); 973 } 974 } catch (SQLException se) { 975 throw new PersistenceDatabaseException(se); 976 } 977 } 978 979 @Override 980 public void store(Session session, Collection<AssociateProgramDetail> entities) 981 throws PersistenceDatabaseException { 982 if(entities.size() > 0) { 983 PreparedStatement _ps = session.prepareStatement(SQL_UPDATE); 984 int _modifiedEntities = 0; 985 986 try { 987 for(AssociateProgramDetail entity : entities) { 988 if(bindForStore(_ps, entity.getAssociateProgramDetailValue())) { 989 _ps.addBatch(); 990 _modifiedEntities++; 991 } 992 } 993 994 if(_modifiedEntities != 0) { 995 if(PersistenceDebugFlags.CheckEntityUpdateRowCount) { 996 int[] _counts = _ps.executeBatch(); 997 998 for(int _countOffset = 0 ; _countOffset < _modifiedEntities ; _countOffset++) { 999 if(_counts[_countOffset] != 1 && _counts[_countOffset] != PreparedStatement.SUCCESS_NO_INFO) { 1000 throw new PersistenceDatabaseUpdateException("batch update failed, _counts[" + _countOffset + "] = " + _counts[_countOffset]); 1001 } 1002 } 1003 } else { 1004 _ps.executeBatch(); 1005 } 1006 1007 _ps.clearBatch(); 1008 1009 entities.forEach((entity) -> { 1010 session.getValueCache().put(entity.getAssociateProgramDetailValue()); 1011 }); 1012 } 1013 } catch (SQLException se) { 1014 throw new PersistenceDatabaseException(se); 1015 } 1016 } 1017 } 1018 1019 @Override 1020 public void store(Collection<AssociateProgramDetail> entities) 1021 throws PersistenceDatabaseException { 1022 store(ThreadSession.currentSession(), entities); 1023 } 1024 1025 @Override 1026 public void remove(Session session, AssociateProgramDetail entity) 1027 throws PersistenceDatabaseException { 1028 remove(session, entity.getPrimaryKey()); 1029 } 1030 1031 @Override 1032 public void remove(Session session, AssociateProgramDetailPK pk) 1033 throws PersistenceDatabaseException { 1034 PreparedStatement _ps = session.prepareStatement(SQL_DELETE); 1035 long _entityId = pk.getEntityId(); 1036 1037 try { 1038 _ps.setLong(1, _entityId); 1039 1040 if(PersistenceDebugFlags.CheckEntityDeleteRowCount) { 1041 int _count = _ps.executeUpdate(); 1042 1043 if(_count != 1) { 1044 throw new PersistenceDatabaseUpdateException("remove failed, _count = " + _count); 1045 } 1046 } else { 1047 _ps.executeUpdate(); 1048 } 1049 1050 session.getValueCache().remove(pk); 1051 } catch (SQLException se) { 1052 throw new PersistenceDatabaseException(se); 1053 } 1054 1055 session.removed(pk, false); 1056 } 1057 1058 @Override 1059 public void remove(Session session, Collection<AssociateProgramDetailPK> pks) 1060 throws PersistenceDatabaseException { 1061 if(pks.size() > 0) { 1062 PreparedStatement _ps = session.prepareStatement(SQL_DELETE); 1063 int _modifiedEntities = 0; 1064 1065 try { 1066 for(AssociateProgramDetailPK pk : pks) { 1067 long _entityId = pk.getEntityId(); 1068 1069 _ps.setLong(1, _entityId); 1070 1071 _ps.addBatch(); 1072 _modifiedEntities++; 1073 } 1074 1075 if(_modifiedEntities != 0) { 1076 if(PersistenceDebugFlags.CheckEntityDeleteRowCount) { 1077 int[] _counts = _ps.executeBatch(); 1078 1079 for(int _countOffset = 0 ; _countOffset < _modifiedEntities ; _countOffset++) { 1080 if(_counts[_countOffset] != 1 && _counts[_countOffset] != PreparedStatement.SUCCESS_NO_INFO) { 1081 throw new PersistenceDatabaseUpdateException("batch remove failed, _counts[" + _countOffset + "] = " + _counts[_countOffset]); 1082 } 1083 } 1084 } else { 1085 _ps.executeBatch(); 1086 } 1087 1088 _ps.clearBatch(); 1089 1090 pks.forEach((pk) -> { 1091 session.getValueCache().remove(pk); 1092 }); 1093 } 1094 } catch (SQLException se) { 1095 throw new PersistenceDatabaseException(se); 1096 } 1097 1098 pks.forEach((pk) -> { 1099 session.removed(pk, true); 1100 }); 1101 } 1102 } 1103 1104 @Override 1105 public void remove(Collection<AssociateProgramDetailPK> pks) 1106 throws PersistenceDatabaseException { 1107 remove(ThreadSession.currentSession(), pks); 1108 } 1109 1110 @Override 1111 public boolean validPK(Session session, AssociateProgramDetailPK pk) 1112 throws PersistenceDatabaseException { 1113 boolean valid = false; 1114 PreparedStatement _ps = session.prepareStatement(SQL_VALID); 1115 ResultSet _rs = null; 1116 1117 try { 1118 _ps.setLong(1, pk.getEntityId()); 1119 1120 _rs = _ps.executeQuery(); 1121 if(_rs.next()) { 1122 long _count = _rs.getLong(1); 1123 if(_rs.wasNull()) 1124 _count = 0; 1125 1126 if(_count == 1) 1127 valid = true; 1128 } 1129 } catch (SQLException se) { 1130 throw new PersistenceDatabaseException(se); 1131 } finally { 1132 if(_rs != null) { 1133 try { 1134 _rs.close(); 1135 } catch (SQLException se) { 1136 // do nothing 1137 } 1138 } 1139 } 1140 1141 return valid; 1142 } 1143 1144}