001// -------------------------------------------------------------------------------- 002// Copyright 2002-2026 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 * TrainingClassPageDetailFactory.java 021 */ 022 023package com.echothree.model.data.training.server.factory; 024 025import com.echothree.model.data.training.common.pk.TrainingClassPagePK; 026import com.echothree.model.data.training.common.pk.TrainingClassSectionPK; 027 028import com.echothree.model.data.training.server.entity.TrainingClassPage; 029import com.echothree.model.data.training.server.entity.TrainingClassSection; 030 031import com.echothree.model.data.training.common.TrainingClassPageDetailConstants; 032import com.echothree.model.data.training.common.pk.TrainingClassPageDetailPK; 033import com.echothree.model.data.training.server.value.TrainingClassPageDetailValue; 034import com.echothree.model.data.training.server.entity.TrainingClassPageDetail; 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 java.sql.PreparedStatement; 044import java.sql.ResultSet; 045import java.sql.SQLException; 046import java.sql.Types; 047import java.io.ByteArrayInputStream; 048import java.io.StringReader; 049import java.util.ArrayList; 050import java.util.Collection; 051import java.util.HashSet; 052import java.util.List; 053import java.util.Map; 054import java.util.Set; 055import javax.enterprise.context.ApplicationScoped; 056import javax.enterprise.inject.spi.CDI; 057import javax.inject.Inject; 058import org.jooq.ResultQuery; 059import org.slf4j.Logger; 060import org.slf4j.LoggerFactory; 061 062@ApplicationScoped 063public class TrainingClassPageDetailFactory 064 implements BaseFactory<TrainingClassPageDetailPK, TrainingClassPageDetail> { 065 066 @Inject 067 Session session; 068 069 //private static final Logger log = LoggerFactory.getLogger(TrainingClassPageDetailFactory.class); 070 071 final private static String SQL_SELECT_READ_ONLY = "SELECT trnclspdt_trainingclasspagedetailid, trnclspdt_trnclsp_trainingclasspageid, trnclspdt_trnclss_trainingclasssectionid, trnclspdt_trainingclasspagename, trnclspdt_sortorder, trnclspdt_fromtime, trnclspdt_thrutime FROM trainingclasspagedetails WHERE trnclspdt_trainingclasspagedetailid = ?"; 072 final private static String SQL_SELECT_READ_WRITE = "SELECT trnclspdt_trainingclasspagedetailid, trnclspdt_trnclsp_trainingclasspageid, trnclspdt_trnclss_trainingclasssectionid, trnclspdt_trainingclasspagename, trnclspdt_sortorder, trnclspdt_fromtime, trnclspdt_thrutime FROM trainingclasspagedetails WHERE trnclspdt_trainingclasspagedetailid = ? FOR UPDATE"; 073 final private static String SQL_INSERT = "INSERT INTO trainingclasspagedetails (trnclspdt_trainingclasspagedetailid, trnclspdt_trnclsp_trainingclasspageid, trnclspdt_trnclss_trainingclasssectionid, trnclspdt_trainingclasspagename, trnclspdt_sortorder, trnclspdt_fromtime, trnclspdt_thrutime) VALUES (?, ?, ?, ?, ?, ?, ?)"; 074 final private static String SQL_UPDATE = "UPDATE trainingclasspagedetails SET trnclspdt_trnclsp_trainingclasspageid = ?, trnclspdt_trnclss_trainingclasssectionid = ?, trnclspdt_trainingclasspagename = ?, trnclspdt_sortorder = ?, trnclspdt_fromtime = ?, trnclspdt_thrutime = ? WHERE trnclspdt_trainingclasspagedetailid = ?"; 075 final private static String SQL_DELETE = "DELETE FROM trainingclasspagedetails WHERE trnclspdt_trainingclasspagedetailid = ?"; 076 final private static String SQL_VALID = "SELECT COUNT(*) FROM trainingclasspagedetails WHERE trnclspdt_trainingclasspagedetailid = ?"; 077 078 final private static String PK_COLUMN = "trnclspdt_trainingclasspagedetailid"; 079 final private static String ALL_COLUMNS = "trnclspdt_trainingclasspagedetailid, trnclspdt_trnclsp_trainingclasspageid, trnclspdt_trnclss_trainingclasssectionid, trnclspdt_trainingclasspagename, trnclspdt_sortorder, trnclspdt_fromtime, trnclspdt_thrutime"; 080 final public static String TABLE_NAME = "trainingclasspagedetails"; 081 082 final public static String TRNCLSPDT_TRAININGCLASSPAGEDETAILID = "trnclspdt_trainingclasspagedetailid"; 083 final public static String TRNCLSPDT_TRNCLSP_TRAININGCLASSPAGEID = "trnclspdt_trnclsp_trainingclasspageid"; 084 final public static String TRNCLSPDT_TRNCLSS_TRAININGCLASSSECTIONID = "trnclspdt_trnclss_trainingclasssectionid"; 085 final public static String TRNCLSPDT_TRAININGCLASSPAGENAME = "trnclspdt_trainingclasspagename"; 086 final public static String TRNCLSPDT_SORTORDER = "trnclspdt_sortorder"; 087 final public static String TRNCLSPDT_FROMTIME = "trnclspdt_fromtime"; 088 final public static String TRNCLSPDT_THRUTIME = "trnclspdt_thrutime"; 089 090 final private static EntityIdGenerator entityIdGenerator = new EntityIdGenerator(TrainingClassPageDetailConstants.COMPONENT_VENDOR_NAME, TrainingClassPageDetailConstants.ENTITY_TYPE_NAME); 091 092 /** Creates a new instance of TrainingClassPageDetailFactory */ 093 protected TrainingClassPageDetailFactory() { 094 super(); 095 } 096 097 public static TrainingClassPageDetailFactory getInstance() { 098 return CDI.current().select(TrainingClassPageDetailFactory.class).get(); 099 } 100 101 @Override 102 public String getPKColumn() { 103 return PK_COLUMN; 104 } 105 106 @Override 107 public String getAllColumns() { 108 return ALL_COLUMNS; 109 } 110 111 @Override 112 public String getTableName() { 113 return TABLE_NAME; 114 } 115 116 @Override 117 public String getComponentVendorName() { 118 return TrainingClassPageDetailConstants.COMPONENT_VENDOR_NAME; 119 } 120 121 @Override 122 public String getEntityTypeName() { 123 return TrainingClassPageDetailConstants.ENTITY_TYPE_NAME; 124 } 125 126 public PreparedStatement prepareStatement(String query) { 127 return session.prepareStatement(TrainingClassPageDetailFactory.class, query); 128 } 129 130 public TrainingClassPageDetailPK getNextPK() { 131 return new TrainingClassPageDetailPK(entityIdGenerator.getNextEntityId()); 132 } 133 134 public Set<TrainingClassPageDetailPK> getPKsFromResultSetAsSet(ResultSet rs) 135 throws PersistenceDatabaseException { 136 Set<TrainingClassPageDetailPK> _result = new HashSet<>(); 137 138 try { 139 while(rs.next()) { 140 _result.add(getPKFromResultSet(rs)); 141 } 142 } catch (SQLException se) { 143 throw new PersistenceDatabaseException(se); 144 } 145 146 return _result; 147 } 148 149 public java.util.List<TrainingClassPageDetailPK> getPKsFromResultSetAsList(ResultSet rs) 150 throws PersistenceDatabaseException { 151 java.util.List<TrainingClassPageDetailPK> _result = new ArrayList<>(); 152 153 try { 154 while(rs.next()) { 155 _result.add(getPKFromResultSet(rs)); 156 } 157 } catch (SQLException se) { 158 throw new PersistenceDatabaseException(se); 159 } 160 161 return _result; 162 } 163 164 public TrainingClassPageDetailPK getPKFromResultSet(ResultSet rs) 165 throws PersistenceDatabaseException { 166 TrainingClassPageDetailPK _result; 167 168 try { 169 long trnclspdt_trainingclasspagedetailid = rs.getLong(TRNCLSPDT_TRAININGCLASSPAGEDETAILID); 170 Long _entityId = rs.wasNull() ? null : trnclspdt_trainingclasspagedetailid; 171 172 _result = new TrainingClassPageDetailPK(_entityId); 173 } catch (SQLException se) { 174 throw new PersistenceDatabaseException(se); 175 } 176 177 return _result; 178 } 179 180 public java.util.List<TrainingClassPageDetailValue> getValuesFromPKs(Collection<TrainingClassPageDetailPK> pks) 181 throws PersistenceDatabaseException { 182 java.util.List<TrainingClassPageDetailValue> _values = new ArrayList<>(pks.size()); 183 184 for(TrainingClassPageDetailPK _pk: pks) { 185 _values.add(getValueFromPK(_pk)); 186 } 187 188 return _values; 189 } 190 191 public TrainingClassPageDetailValue getValueFromPK(TrainingClassPageDetailPK pk) 192 throws PersistenceDatabaseException { 193 TrainingClassPageDetailValue _value; 194 195 // See if we already have the entity in the session cache 196 TrainingClassPageDetail _entity = (TrainingClassPageDetail)session.getEntity(pk); 197 if(_entity == null) 198 _value = getEntityFromPK(EntityPermission.READ_ONLY, pk).getTrainingClassPageDetailValue(); 199 else 200 _value = _entity.getTrainingClassPageDetailValue(); 201 202 return _value; 203 } 204 205 public java.util.List<TrainingClassPageDetailValue> getValuesFromResultSet(ResultSet rs) 206 throws PersistenceDatabaseException { 207 java.util.List<TrainingClassPageDetailValue> _result = new ArrayList<>(); 208 209 try { 210 while(rs.next()) { 211 _result.add(getValueFromResultSet(rs)); 212 } 213 } catch (SQLException se) { 214 throw new PersistenceDatabaseException(se); 215 } 216 217 return _result; 218 } 219 220 public TrainingClassPageDetailValue getValueFromResultSet(ResultSet rs) 221 throws PersistenceDatabaseException { 222 TrainingClassPageDetailValue _value; 223 224 try { 225 Long trnclspdt_trainingclasspagedetailid = rs.getLong(TRNCLSPDT_TRAININGCLASSPAGEDETAILID); 226 TrainingClassPageDetailPK _pk = new TrainingClassPageDetailPK(trnclspdt_trainingclasspagedetailid); 227 228 // See if we already have the entity in the session cache 229 TrainingClassPageDetail _entity = (TrainingClassPageDetail)session.getEntity(_pk); 230 231 if(_entity == null) { 232 Long trnclspdt_trnclsp_trainingclasspageid = rs.getLong(TRNCLSPDT_TRNCLSP_TRAININGCLASSPAGEID); 233 if(rs.wasNull()) 234 trnclspdt_trnclsp_trainingclasspageid = null; 235 236 Long trnclspdt_trnclss_trainingclasssectionid = rs.getLong(TRNCLSPDT_TRNCLSS_TRAININGCLASSSECTIONID); 237 if(rs.wasNull()) 238 trnclspdt_trnclss_trainingclasssectionid = null; 239 240 String trnclspdt_trainingclasspagename = rs.getString(TRNCLSPDT_TRAININGCLASSPAGENAME); 241 if(rs.wasNull()) 242 trnclspdt_trainingclasspagename = null; 243 244 Integer trnclspdt_sortorder = rs.getInt(TRNCLSPDT_SORTORDER); 245 if(rs.wasNull()) 246 trnclspdt_sortorder = null; 247 248 Long trnclspdt_fromtime = rs.getLong(TRNCLSPDT_FROMTIME); 249 if(rs.wasNull()) 250 trnclspdt_fromtime = null; 251 252 Long trnclspdt_thrutime = rs.getLong(TRNCLSPDT_THRUTIME); 253 if(rs.wasNull()) 254 trnclspdt_thrutime = null; 255 256 _value = new TrainingClassPageDetailValue(_pk, new TrainingClassPagePK(trnclspdt_trnclsp_trainingclasspageid), new TrainingClassSectionPK(trnclspdt_trnclss_trainingclasssectionid), trnclspdt_trainingclasspagename, trnclspdt_sortorder, trnclspdt_fromtime, trnclspdt_thrutime); 257 } else 258 _value = _entity.getTrainingClassPageDetailValue(); 259 } catch (SQLException se) { 260 throw new PersistenceDatabaseException(se); 261 } 262 263 return _value; 264 } 265 266 public java.util.List<TrainingClassPageDetail> getEntitiesFromPKs(EntityPermission entityPermission, Collection<TrainingClassPageDetailPK> pks) 267 throws PersistenceDatabaseException { 268 java.util.List<TrainingClassPageDetail> _entities = new ArrayList<>(pks.size()); 269 270 for(TrainingClassPageDetailPK _pk: pks) { 271 _entities.add(getEntityFromPK(entityPermission, _pk)); 272 } 273 274 return _entities; 275 } 276 277 public TrainingClassPageDetail getEntityFromValue(EntityPermission entityPermission, TrainingClassPageDetailValue value) { 278 return getEntityFromPK(entityPermission, value.getPrimaryKey()); 279 } 280 281 public TrainingClassPageDetail getEntityFromCache(TrainingClassPageDetailPK pk) { 282 TrainingClassPageDetailValue _value = (TrainingClassPageDetailValue)session.getValueCache().get(pk); 283 284 return _value == null ? null : new TrainingClassPageDetail(_value, EntityPermission.READ_ONLY); 285 } 286 287 public TrainingClassPageDetail getEntityFromPK(EntityPermission entityPermission, TrainingClassPageDetailPK pk) 288 throws PersistenceDatabaseException { 289 TrainingClassPageDetail _entity; 290 291 // See if we already have the entity in the session cache 292 _entity = (TrainingClassPageDetail)session.getEntity(pk); 293 if(_entity != null) { 294 // If the requested permission is READ_WRITE, and the cached permission is 295 // READ_ONLY, then pretend that the cached object wasn't found, and create 296 // a new entity that is READ_WRITE. 297 if(entityPermission.equals(EntityPermission.READ_WRITE)) { 298 if(_entity.getEntityPermission().equals(EntityPermission.READ_ONLY)) 299 _entity = null; 300 } 301 } 302 303 if(_entity == null && entityPermission.equals(EntityPermission.READ_ONLY)) { 304 _entity = getEntityFromCache(pk); 305 } 306 307 if(_entity == null) { 308 PreparedStatement _ps = session.prepareStatement(entityPermission.equals(EntityPermission.READ_ONLY)? SQL_SELECT_READ_ONLY: SQL_SELECT_READ_WRITE); 309 long _entityId = pk.getEntityId(); 310 ResultSet _rs = null; 311 312 try { 313 _ps.setLong(1, _entityId); 314 _rs = _ps.executeQuery(); 315 if(_rs.next()) { 316 _entity = getEntityFromResultSet(entityPermission, _rs); 317 } 318 } catch (SQLException se) { 319 throw new PersistenceDatabaseException(se); 320 } finally { 321 if(_rs != null) { 322 try { 323 _rs.close(); 324 } catch (SQLException se) { 325 // do nothing 326 } 327 } 328 } 329 } 330 331 return _entity; 332 } 333 334 public Set<TrainingClassPageDetailPK> getPKsFromQueryAsSet(PreparedStatement ps, final Object... params) 335 throws PersistenceDatabaseException { 336 Set<TrainingClassPageDetailPK> _pks; 337 ResultSet _rs = null; 338 339 try { 340 if(params.length != 0) { 341 Session.setQueryParams(ps, params); 342 } 343 344 _rs = ps.executeQuery(); 345 _pks = getPKsFromResultSetAsSet(_rs); 346 _rs.close(); 347 } catch (SQLException se) { 348 throw new PersistenceDatabaseException(se); 349 } finally { 350 if(_rs != null) { 351 try { 352 _rs.close(); 353 } catch (SQLException se) { 354 // do nothing 355 } 356 } 357 } 358 359 return _pks; 360 } 361 362 public java.util.List<TrainingClassPageDetailPK> getPKsFromQueryAsList(PreparedStatement ps, final Object... params) 363 throws PersistenceDatabaseException { 364 java.util.List<TrainingClassPageDetailPK> _pks; 365 ResultSet _rs = null; 366 367 try { 368 if(params.length != 0) { 369 Session.setQueryParams(ps, params); 370 } 371 372 _rs = ps.executeQuery(); 373 _pks = getPKsFromResultSetAsList(_rs); 374 _rs.close(); 375 } catch (SQLException se) { 376 throw new PersistenceDatabaseException(se); 377 } finally { 378 if(_rs != null) { 379 try { 380 _rs.close(); 381 } catch (SQLException se) { 382 // do nothing 383 } 384 } 385 } 386 387 return _pks; 388 } 389 390 public TrainingClassPageDetailPK getPKFromQuery(PreparedStatement ps, final Object... params) 391 throws PersistenceDatabaseException { 392 TrainingClassPageDetailPK _pk = null; 393 ResultSet _rs = null; 394 395 try { 396 if(params.length != 0) { 397 Session.setQueryParams(ps, params); 398 } 399 400 _rs = ps.executeQuery(); 401 if(_rs.next()) { 402 _pk = getPKFromResultSet(_rs); 403 } 404 _rs.close(); 405 } catch (SQLException se) { 406 throw new PersistenceDatabaseException(se); 407 } finally { 408 if(_rs != null) { 409 try { 410 _rs.close(); 411 } catch (SQLException se) { 412 // do nothing 413 } 414 } 415 } 416 417 return _pk; 418 } 419 420 public java.util.List<TrainingClassPageDetail> getEntitiesFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 421 throws PersistenceDatabaseException { 422 PreparedStatement ps = session.prepareStatement(TrainingClassPageDetailFactory.class, queryMap.get(entityPermission)); 423 424 return getEntitiesFromQuery(entityPermission, ps, params); 425 } 426 427 public java.util.List<TrainingClassPageDetail> getEntitiesFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 428 throws PersistenceDatabaseException { 429 PreparedStatement ps = session.prepareStatement(TrainingClassPageDetailFactory.class, queryMap.get(entityPermission)); 430 431 return getEntitiesFromQuery(entityPermission, ps); 432 } 433 434 public java.util.List<TrainingClassPageDetail> getEntitiesFromQuery(EntityPermission entityPermission, ResultQuery<?> query) 435 throws PersistenceDatabaseException { 436 PreparedStatement ps = session.prepareStatement(TrainingClassPageDetailFactory.class, query.getSQL()); 437 438 return getEntitiesFromQuery(entityPermission, ps, query.getBindValues().toArray()); 439 } 440 441 public java.util.List<TrainingClassPageDetail> getEntitiesFromQuery(EntityPermission entityPermission, PreparedStatement ps, final Object... params) 442 throws PersistenceDatabaseException { 443 java.util.List<TrainingClassPageDetail> _entities; 444 ResultSet _rs = null; 445 446 try { 447 if(params.length != 0) { 448 Session.setQueryParams(ps, params); 449 } 450 451 _rs = ps.executeQuery(); 452 _entities = getEntitiesFromResultSet(entityPermission, _rs); 453 _rs.close(); 454 } catch (SQLException se) { 455 throw new PersistenceDatabaseException(se); 456 } finally { 457 if(_rs != null) { 458 try { 459 _rs.close(); 460 } catch (SQLException se) { 461 // do nothing 462 } 463 } 464 } 465 466 return _entities; 467 } 468 469 public TrainingClassPageDetail getEntityFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 470 throws PersistenceDatabaseException { 471 PreparedStatement ps = session.prepareStatement(TrainingClassPageDetailFactory.class, queryMap.get(entityPermission)); 472 473 return getEntityFromQuery(entityPermission, ps, params); 474 } 475 476 public TrainingClassPageDetail getEntityFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 477 throws PersistenceDatabaseException { 478 PreparedStatement ps = session.prepareStatement(TrainingClassPageDetailFactory.class, queryMap.get(entityPermission)); 479 480 return getEntityFromQuery(entityPermission, ps); 481 } 482 483 public TrainingClassPageDetail getEntityFromQuery(EntityPermission entityPermission, ResultQuery<?> query) 484 throws PersistenceDatabaseException { 485 PreparedStatement ps = session.prepareStatement(TrainingClassPageDetailFactory.class, query.getSQL()); 486 487 return getEntityFromQuery(entityPermission, ps, query.getBindValues().toArray()); 488 } 489 490 public TrainingClassPageDetail getEntityFromQuery(EntityPermission entityPermission, PreparedStatement ps, final Object... params) 491 throws PersistenceDatabaseException { 492 TrainingClassPageDetail _entity = null; 493 ResultSet _rs = null; 494 495 try { 496 if(params.length != 0) { 497 Session.setQueryParams(ps, params); 498 } 499 500 _rs = ps.executeQuery(); 501 if(_rs.next()) { 502 _entity = getEntityFromResultSet(entityPermission, _rs); 503 } 504 _rs.close(); 505 } catch (SQLException se) { 506 throw new PersistenceDatabaseException(se); 507 } finally { 508 if(_rs != null) { 509 try { 510 _rs.close(); 511 } catch (SQLException se) { 512 // do nothing 513 } 514 } 515 } 516 517 return _entity; 518 } 519 520 public java.util.List<TrainingClassPageDetail> getEntitiesFromResultSet(EntityPermission entityPermission, ResultSet rs) 521 throws PersistenceDatabaseException { 522 java.util.List<TrainingClassPageDetail> _result = new ArrayList<>(); 523 524 try { 525 while(rs.next()) { 526 _result.add(getEntityFromResultSet(entityPermission, rs)); 527 } 528 } catch (SQLException se) { 529 throw new PersistenceDatabaseException(se); 530 } 531 532 return _result; 533 } 534 535 public TrainingClassPageDetail getEntityFromResultSet(EntityPermission entityPermission, ResultSet rs) 536 throws PersistenceDatabaseException { 537 TrainingClassPageDetail _entity; 538 539 try { 540 Long trnclspdt_trainingclasspagedetailid = rs.getLong(TRNCLSPDT_TRAININGCLASSPAGEDETAILID); 541 TrainingClassPageDetailPK _pk = new TrainingClassPageDetailPK(trnclspdt_trainingclasspagedetailid); 542 543 // See if we already have the entity in the session cache 544 _entity = (TrainingClassPageDetail)session.getEntity(_pk); 545 if(_entity != null) { 546 // If the requested permission is READ_WRITE, and the cached permission is 547 // READ_ONLY, then pretend that the cached object wasn't found, and create 548 // a new entity that is READ_WRITE. 549 if(entityPermission.equals(EntityPermission.READ_WRITE)) { 550 if(_entity.getEntityPermission().equals(EntityPermission.READ_ONLY)) 551 _entity = null; 552 } 553 } 554 boolean foundInSessionCache = _entity != null; 555 556 if(_entity == null && entityPermission.equals(EntityPermission.READ_ONLY)) { 557 _entity = getEntityFromCache(_pk); 558 } 559 560 if(_entity == null) { 561 Long trnclspdt_trnclsp_trainingclasspageid = rs.getLong(TRNCLSPDT_TRNCLSP_TRAININGCLASSPAGEID); 562 if(rs.wasNull()) 563 trnclspdt_trnclsp_trainingclasspageid = null; 564 565 Long trnclspdt_trnclss_trainingclasssectionid = rs.getLong(TRNCLSPDT_TRNCLSS_TRAININGCLASSSECTIONID); 566 if(rs.wasNull()) 567 trnclspdt_trnclss_trainingclasssectionid = null; 568 569 String trnclspdt_trainingclasspagename = rs.getString(TRNCLSPDT_TRAININGCLASSPAGENAME); 570 if(rs.wasNull()) 571 trnclspdt_trainingclasspagename = null; 572 573 Integer trnclspdt_sortorder = rs.getInt(TRNCLSPDT_SORTORDER); 574 if(rs.wasNull()) 575 trnclspdt_sortorder = null; 576 577 Long trnclspdt_fromtime = rs.getLong(TRNCLSPDT_FROMTIME); 578 if(rs.wasNull()) 579 trnclspdt_fromtime = null; 580 581 Long trnclspdt_thrutime = rs.getLong(TRNCLSPDT_THRUTIME); 582 if(rs.wasNull()) 583 trnclspdt_thrutime = null; 584 585 TrainingClassPageDetailValue _value = new TrainingClassPageDetailValue(_pk, trnclspdt_trnclsp_trainingclasspageid == null? null: new TrainingClassPagePK(trnclspdt_trnclsp_trainingclasspageid), trnclspdt_trnclss_trainingclasssectionid == null? null: new TrainingClassSectionPK(trnclspdt_trnclss_trainingclasssectionid), trnclspdt_trainingclasspagename, trnclspdt_sortorder, trnclspdt_fromtime, trnclspdt_thrutime); 586 _entity = new TrainingClassPageDetail(_value, entityPermission); 587 } 588 589 if(!foundInSessionCache) { 590 if(entityPermission.equals(EntityPermission.READ_ONLY)) { 591 session.putReadOnlyEntity(_pk, _entity); 592 session.getValueCache().put(_entity.getTrainingClassPageDetailValue()); 593 } else { 594 session.putReadWriteEntity(_pk, _entity); 595 } 596 } 597 } catch (SQLException se) { 598 throw new PersistenceDatabaseException(se); 599 } 600 601 return _entity; 602 } 603 604 public TrainingClassPageDetail create(TrainingClassPage trainingClassPage, TrainingClassSection trainingClassSection, String trainingClassPageName, Integer sortOrder, Long fromTime, Long thruTime) 605 throws PersistenceDatabaseException, PersistenceNotNullException { 606 return create(trainingClassPage == null ? null : trainingClassPage.getPrimaryKey(), trainingClassSection == null ? null : trainingClassSection.getPrimaryKey(), trainingClassPageName, sortOrder, fromTime, thruTime); 607 } 608 609 private void bindForCreate(PreparedStatement _ps, TrainingClassPageDetailValue _value) 610 throws SQLException { 611 _ps.setLong(1, _value.getEntityId()); 612 613 TrainingClassPagePK trnclspdt_trnclsp_trainingclasspageid = _value.getTrainingClassPagePK(); 614 if(trnclspdt_trnclsp_trainingclasspageid == null) 615 _ps.setNull(2, Types.BIGINT); 616 else 617 _ps.setLong(2, trnclspdt_trnclsp_trainingclasspageid.getEntityId()); 618 619 TrainingClassSectionPK trnclspdt_trnclss_trainingclasssectionid = _value.getTrainingClassSectionPK(); 620 if(trnclspdt_trnclss_trainingclasssectionid == null) 621 _ps.setNull(3, Types.BIGINT); 622 else 623 _ps.setLong(3, trnclspdt_trnclss_trainingclasssectionid.getEntityId()); 624 625 String trnclspdt_trainingclasspagename = _value.getTrainingClassPageName(); 626 if(trnclspdt_trainingclasspagename == null) 627 _ps.setNull(4, Types.VARCHAR); 628 else 629 _ps.setString(4, trnclspdt_trainingclasspagename); 630 631 Integer trnclspdt_sortorder = _value.getSortOrder(); 632 if(trnclspdt_sortorder == null) 633 _ps.setNull(5, Types.INTEGER); 634 else 635 _ps.setInt(5, trnclspdt_sortorder); 636 637 Long trnclspdt_fromtime = _value.getFromTime(); 638 if(trnclspdt_fromtime == null) 639 _ps.setNull(6, Types.BIGINT); 640 else 641 _ps.setLong(6, trnclspdt_fromtime); 642 643 Long trnclspdt_thrutime = _value.getThruTime(); 644 if(trnclspdt_thrutime == null) 645 _ps.setNull(7, Types.BIGINT); 646 else 647 _ps.setLong(7, trnclspdt_thrutime); 648 649 } 650 651 public TrainingClassPageDetail create(TrainingClassPagePK trainingClassPagePK, TrainingClassSectionPK trainingClassSectionPK, String trainingClassPageName, Integer sortOrder, Long fromTime, Long thruTime) 652 throws PersistenceDatabaseException, PersistenceNotNullException { 653 TrainingClassPageDetailPK _pk = getNextPK(); 654 TrainingClassPageDetailValue _value = new TrainingClassPageDetailValue(_pk, trainingClassPagePK, trainingClassSectionPK, trainingClassPageName, sortOrder, fromTime, thruTime); 655 656 PreparedStatement _ps = session.prepareStatement(SQL_INSERT); 657 658 try { 659 bindForCreate(_ps, _value); 660 661 if(PersistenceDebugFlags.CheckEntityInsertRowCount) { 662 int _count = _ps.executeUpdate(); 663 664 if(_count != 1) { 665 throw new PersistenceDatabaseUpdateException("insert failed, _count = " + _count); 666 } 667 } else { 668 _ps.executeUpdate(); 669 } 670 671 session.getValueCache().put(_value); 672 } catch (SQLException se) { 673 throw new PersistenceDatabaseException(se); 674 } 675 676 TrainingClassPageDetail _entity = new TrainingClassPageDetail(_value, EntityPermission.READ_ONLY); 677 session.putReadOnlyEntity(_pk, _entity); 678 679 return _entity; 680 } 681 682 public void create(Collection<TrainingClassPageDetailValue> _values) 683 throws PersistenceDatabaseException, PersistenceNotNullException { 684 int _size = _values.size(); 685 686 if(_size > 0) { 687 PreparedStatement _ps = session.prepareStatement(SQL_INSERT); 688 List<TrainingClassPageDetailValue> _cacheValues = new ArrayList<>(_size); 689 690 try { 691 for(TrainingClassPageDetailValue _value : _values) { 692 _value.setEntityId(entityIdGenerator.getNextEntityId()); 693 bindForCreate(_ps, _value); 694 695 _ps.addBatch(); 696 697 _cacheValues.add(_value); 698 } 699 700 if(PersistenceDebugFlags.CheckEntityInsertRowCount) { 701 int[] _counts = _ps.executeBatch(); 702 703 for(int _countOffset = 0 ; _countOffset < _size ; _countOffset++) { 704 if(_counts[_countOffset] != 1 && _counts[_countOffset] != PreparedStatement.SUCCESS_NO_INFO) { 705 throw new PersistenceDatabaseUpdateException("batch insert failed, _counts[" + _countOffset + "] = " + _counts[_countOffset]); 706 } 707 } 708 } else { 709 _ps.executeBatch(); 710 } 711 712 _ps.clearBatch(); 713 } catch (SQLException se) { 714 throw new PersistenceDatabaseException(se); 715 } 716 717 _cacheValues.forEach((_cacheValue) -> { 718 TrainingClassPageDetail _cacheEntity = new TrainingClassPageDetail(_cacheValue, EntityPermission.READ_ONLY); 719 720 session.putReadOnlyEntity(_cacheValue.getPrimaryKey(), _cacheEntity); 721 }); 722 } 723 } 724 725 private boolean bindForStore(PreparedStatement _ps, TrainingClassPageDetailValue _value) 726 throws SQLException { 727 boolean _hasBeenModified = _value.hasBeenModified(); 728 729 if(_hasBeenModified) { 730 TrainingClassPagePK trnclspdt_trnclsp_trainingclasspageid = _value.getTrainingClassPagePK(); 731 if(trnclspdt_trnclsp_trainingclasspageid == null) 732 _ps.setNull(1, Types.BIGINT); 733 else 734 _ps.setLong(1, trnclspdt_trnclsp_trainingclasspageid.getEntityId()); 735 736 TrainingClassSectionPK trnclspdt_trnclss_trainingclasssectionid = _value.getTrainingClassSectionPK(); 737 if(trnclspdt_trnclss_trainingclasssectionid == null) 738 _ps.setNull(2, Types.BIGINT); 739 else 740 _ps.setLong(2, trnclspdt_trnclss_trainingclasssectionid.getEntityId()); 741 742 String trnclspdt_trainingclasspagename = _value.getTrainingClassPageName(); 743 if(trnclspdt_trainingclasspagename == null) 744 _ps.setNull(3, Types.VARCHAR); 745 else 746 _ps.setString(3, trnclspdt_trainingclasspagename); 747 748 Integer trnclspdt_sortorder = _value.getSortOrder(); 749 if(trnclspdt_sortorder == null) 750 _ps.setNull(4, Types.INTEGER); 751 else 752 _ps.setInt(4, trnclspdt_sortorder); 753 754 Long trnclspdt_fromtime = _value.getFromTime(); 755 if(trnclspdt_fromtime == null) 756 _ps.setNull(5, Types.BIGINT); 757 else 758 _ps.setLong(5, trnclspdt_fromtime); 759 760 Long trnclspdt_thrutime = _value.getThruTime(); 761 if(trnclspdt_thrutime == null) 762 _ps.setNull(6, Types.BIGINT); 763 else 764 _ps.setLong(6, trnclspdt_thrutime); 765 766 _ps.setLong(7, _value.getPrimaryKey().getEntityId()); 767 768 _value.clearHasBeenModified(); 769 } 770 771 return _hasBeenModified; 772 } 773 774 @Override 775 public void store(TrainingClassPageDetail entity) 776 throws PersistenceDatabaseException { 777 PreparedStatement _ps = session.prepareStatement(SQL_UPDATE); 778 779 try { 780 TrainingClassPageDetailValue _value = entity.getTrainingClassPageDetailValue(); 781 782 if(bindForStore(_ps, _value)) { 783 if(PersistenceDebugFlags.CheckEntityUpdateRowCount) { 784 int _count = _ps.executeUpdate(); 785 786 if(_count != 1) { 787 throw new PersistenceDatabaseUpdateException("update failed, _count = " + _count); 788 } 789 } else { 790 _ps.executeUpdate(); 791 } 792 793 session.getValueCache().put(_value); 794 } 795 } catch (SQLException se) { 796 throw new PersistenceDatabaseException(se); 797 } 798 } 799 800 @Override 801 public void store(Collection<TrainingClassPageDetail> entities) 802 throws PersistenceDatabaseException { 803 if(entities.size() > 0) { 804 PreparedStatement _ps = session.prepareStatement(SQL_UPDATE); 805 int _modifiedEntities = 0; 806 807 try { 808 for(TrainingClassPageDetail entity : entities) { 809 if(bindForStore(_ps, entity.getTrainingClassPageDetailValue())) { 810 _ps.addBatch(); 811 _modifiedEntities++; 812 } 813 } 814 815 if(_modifiedEntities != 0) { 816 if(PersistenceDebugFlags.CheckEntityUpdateRowCount) { 817 int[] _counts = _ps.executeBatch(); 818 819 for(int _countOffset = 0 ; _countOffset < _modifiedEntities ; _countOffset++) { 820 if(_counts[_countOffset] != 1 && _counts[_countOffset] != PreparedStatement.SUCCESS_NO_INFO) { 821 throw new PersistenceDatabaseUpdateException("batch update failed, _counts[" + _countOffset + "] = " + _counts[_countOffset]); 822 } 823 } 824 } else { 825 _ps.executeBatch(); 826 } 827 828 _ps.clearBatch(); 829 830 entities.forEach((entity) -> { 831 session.getValueCache().put(entity.getTrainingClassPageDetailValue()); 832 }); 833 } 834 } catch (SQLException se) { 835 throw new PersistenceDatabaseException(se); 836 } 837 } 838 } 839 840 @Override 841 public void remove(TrainingClassPageDetail entity) 842 throws PersistenceDatabaseException { 843 remove(entity.getPrimaryKey()); 844 } 845 846 @Override 847 public void remove(TrainingClassPageDetailPK pk) 848 throws PersistenceDatabaseException { 849 PreparedStatement _ps = session.prepareStatement(SQL_DELETE); 850 long _entityId = pk.getEntityId(); 851 852 try { 853 _ps.setLong(1, _entityId); 854 855 if(PersistenceDebugFlags.CheckEntityDeleteRowCount) { 856 int _count = _ps.executeUpdate(); 857 858 if(_count != 1) { 859 throw new PersistenceDatabaseUpdateException("remove failed, _count = " + _count); 860 } 861 } else { 862 _ps.executeUpdate(); 863 } 864 865 session.getValueCache().remove(pk); 866 } catch (SQLException se) { 867 throw new PersistenceDatabaseException(se); 868 } 869 870 session.removed(pk, false); 871 } 872 873 @Override 874 public void remove(Collection<TrainingClassPageDetailPK> pks) 875 throws PersistenceDatabaseException { 876 if(pks.size() > 0) { 877 PreparedStatement _ps = session.prepareStatement(SQL_DELETE); 878 int _modifiedEntities = 0; 879 880 try { 881 for(TrainingClassPageDetailPK pk : pks) { 882 long _entityId = pk.getEntityId(); 883 884 _ps.setLong(1, _entityId); 885 886 _ps.addBatch(); 887 _modifiedEntities++; 888 } 889 890 if(_modifiedEntities != 0) { 891 if(PersistenceDebugFlags.CheckEntityDeleteRowCount) { 892 int[] _counts = _ps.executeBatch(); 893 894 for(int _countOffset = 0 ; _countOffset < _modifiedEntities ; _countOffset++) { 895 if(_counts[_countOffset] != 1 && _counts[_countOffset] != PreparedStatement.SUCCESS_NO_INFO) { 896 throw new PersistenceDatabaseUpdateException("batch remove failed, _counts[" + _countOffset + "] = " + _counts[_countOffset]); 897 } 898 } 899 } else { 900 _ps.executeBatch(); 901 } 902 903 _ps.clearBatch(); 904 905 pks.forEach((pk) -> { 906 session.getValueCache().remove(pk); 907 }); 908 } 909 } catch (SQLException se) { 910 throw new PersistenceDatabaseException(se); 911 } 912 913 pks.forEach((pk) -> { 914 session.removed(pk, true); 915 }); 916 } 917 } 918 919 @Override 920 public boolean validPK(TrainingClassPageDetailPK pk) 921 throws PersistenceDatabaseException { 922 boolean valid = false; 923 PreparedStatement _ps = session.prepareStatement(SQL_VALID); 924 ResultSet _rs = null; 925 926 try { 927 _ps.setLong(1, pk.getEntityId()); 928 929 _rs = _ps.executeQuery(); 930 if(_rs.next()) { 931 long _count = _rs.getLong(1); 932 if(_rs.wasNull()) 933 _count = 0; 934 935 if(_count == 1) 936 valid = true; 937 } 938 } catch (SQLException se) { 939 throw new PersistenceDatabaseException(se); 940 } finally { 941 if(_rs != null) { 942 try { 943 _rs.close(); 944 } catch (SQLException se) { 945 // do nothing 946 } 947 } 948 } 949 950 return valid; 951 } 952 953}