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