private SharedSessionBuilderImpl(SessionImpl session) { super( (SessionFactoryImpl) session.getFactory() ); this.session = session; super.owner( session.sessionOwner ); super.tenantIdentifier( session.getTenantIdentifier() ); }
@Override public ProcedureCall createStoredProcedureCall(String procedureName, String... resultSetMappings) { checkOpen(); // checkTransactionSynchStatus(); return super.createStoredProcedureCall( procedureName, resultSetMappings ); }
@Override public Criteria createCriteria(String entityName, String alias) { checkOpen(); return new CriteriaImpl( entityName, alias, this ); }
@Override public <T> T load(Class<T> entityClass, Serializable id, LockOptions lockOptions) throws HibernateException { return this.byId( entityClass ).with( lockOptions ).getReference( id ); }
@Override public <T> T load(Class<T> entityClass, Serializable id) throws HibernateException { return this.byId( entityClass ).getReference( id ); }
@Override protected boolean shouldCloseJdbcCoordinatorOnClose(boolean isTransactionCoordinatorShared) { if ( !isTransactionCoordinatorShared ) { return super.shouldCloseJdbcCoordinatorOnClose( isTransactionCoordinatorShared ); } if ( getActionQueue().hasBeforeTransactionActions() || getActionQueue().hasAfterTransactionActions() ) { log.warn( "On close, shared Session had before/after transaction actions that have not yet been processed" ); } return false; }
@Override public T interceptor() { return interceptor( session.getInterceptor() ); }
@Override public void startTransactionBoundary() { checkOpenOrWaitingForAutoClose(); super.startTransactionBoundary(); }
@Override public T flushMode() { return flushMode( session.getHibernateFlushMode() ); }
@Override public MultiIdentifierLoadAccess byMultipleIds(String entityName) { return new MultiIdentifierLoadAccessImpl( locateEntityPersister( entityName ) ); }
@Override public Object load(String entityName, Serializable id, LockOptions lockOptions) throws HibernateException { return this.byId( entityName ).with( lockOptions ).getReference( id ); }
@Override public Criteria createCriteria(String entityName) { checkOpen(); return new CriteriaImpl( entityName, this ); }
@Override public Object load(String entityName, Serializable id) throws HibernateException { return this.byId( entityName ).getReference( id ); }
@Override public ProcedureCall createStoredProcedureCall(String procedureName, Class... resultClasses) { checkOpen(); // checkTransactionSynchStatus(); return super.createStoredProcedureCall( procedureName, resultClasses ); }
@Override public <T> MultiIdentifierLoadAccess<T> byMultipleIds(Class<T> entityClass) { return new MultiIdentifierLoadAccessImpl<T>( locateEntityPersister( entityClass ) ); }
@Override public ProcedureCall createStoredProcedureCall(String procedureName) { checkOpen(); // checkTransactionSynchStatus(); return super.createStoredProcedureCall( procedureName ); }