Class EntityBatchLoaderInPredicate<T>
- java.lang.Object
-
- org.hibernate.loader.ast.internal.SingleIdEntityLoaderSupport<T>
-
- org.hibernate.loader.ast.internal.AbstractEntityBatchLoader<T>
-
- org.hibernate.loader.ast.internal.EntityBatchLoaderInPredicate<T>
-
- All Implemented Interfaces:
BatchLoader,EntityBatchLoader<T>,EntityLoader,Loader,MultiKeyLoader,SingleEntityLoader<T>,SingleIdEntityLoader<T>,SqlInPredicateMultiKeyLoader
public class EntityBatchLoaderInPredicate<T> extends AbstractEntityBatchLoader<T> implements SqlInPredicateMultiKeyLoader
AnEntityBatchLoaderusing one or more SQL queries, which each initialize up to getSqlBatchSize() entities using a SQL IN predicate restriction - e.g.,... where id in (?,?,...).The number of parameters rendered into the SQL is controlled by getSqlBatchSize(). Any unused parameter slots for a particular execution are set to
null.
-
-
Field Summary
-
Fields inherited from class org.hibernate.loader.ast.internal.SingleIdEntityLoaderSupport
sessionFactory
-
-
Constructor Summary
Constructors Constructor Description EntityBatchLoaderInPredicate(int domainBatchSize, EntityMappingType entityDescriptor, LoadQueryInfluencers loadQueryInfluencers)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetDomainBatchSize()The total number of loadable references that can be initialized per each load operation.intgetSqlBatchSize()protected voidinitializeEntities(Object[] idsToInitialize, Object pkValue, Object entityInstance, LockOptions lockOptions, Boolean readOnly, SharedSessionContractImplementor session)Tload(Object pkValue, LockOptions lockOptions, Boolean readOnly, SharedSessionContractImplementor session)Load by primary key valueprotected Object[]resolveIdsToInitialize(Object id, SharedSessionContractImplementor session)StringtoString()-
Methods inherited from class org.hibernate.loader.ast.internal.AbstractEntityBatchLoader
load, load
-
Methods inherited from class org.hibernate.loader.ast.internal.SingleIdEntityLoaderSupport
getLoadable, loadDatabaseSnapshot
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.hibernate.loader.ast.spi.SingleEntityLoader
getLoadable
-
Methods inherited from interface org.hibernate.loader.ast.spi.SingleIdEntityLoader
loadDatabaseSnapshot
-
-
-
-
Constructor Detail
-
EntityBatchLoaderInPredicate
public EntityBatchLoaderInPredicate(int domainBatchSize, EntityMappingType entityDescriptor, LoadQueryInfluencers loadQueryInfluencers)- Parameters:
domainBatchSize- The maximum number of entities we will initialize for each load
-
-
Method Detail
-
getDomainBatchSize
public int getDomainBatchSize()
Description copied from interface:BatchLoaderThe total number of loadable references that can be initialized per each load operation.- Specified by:
getDomainBatchSizein interfaceBatchLoader
-
getSqlBatchSize
public int getSqlBatchSize()
-
load
public final T load(Object pkValue, LockOptions lockOptions, Boolean readOnly, SharedSessionContractImplementor session)
Description copied from interface:SingleIdEntityLoaderLoad by primary key value- Specified by:
loadin interfaceSingleEntityLoader<T>- Specified by:
loadin interfaceSingleIdEntityLoader<T>
-
resolveIdsToInitialize
protected Object[] resolveIdsToInitialize(Object id, SharedSessionContractImplementor session)
- Specified by:
resolveIdsToInitializein classAbstractEntityBatchLoader<T>
-
initializeEntities
protected void initializeEntities(Object[] idsToInitialize, Object pkValue, Object entityInstance, LockOptions lockOptions, Boolean readOnly, SharedSessionContractImplementor session)
- Specified by:
initializeEntitiesin classAbstractEntityBatchLoader<T>
-
-