Top Description Fields Constructors Methods
org.hibernate.loader.ast.internal

public Class EntityBatchLoaderArrayParam<T>

extends AbstractEntityBatchLoader<T>
implements SqlArrayMultiKeyLoader
Class Inheritance
All Implemented Interfaces
org.hibernate.loader.ast.spi.SqlArrayMultiKeyLoader, org.hibernate.loader.ast.spi.MultiKeyLoader, org.hibernate.loader.ast.spi.Loader
Imports
java.lang.reflect.Array, java.util.Arrays, .Locale, org.hibernate.LockOptions, org.hibernate.engine.spi.LoadQueryInfluencers, .SessionFactoryImplementor, .SharedSessionContractImplementor, org.hibernate.loader.ast.spi.SqlArrayMultiKeyLoader, org.hibernate.metamodel.mapping.BasicEntityIdentifierMapping, .EntityIdentifierMapping, .EntityMappingType, .JdbcMapping, org.hibernate.query.spi.QueryOptions, org.hibernate.sql.ast.tree.expression.JdbcParameter, org.hibernate.sql.ast.tree.select.SelectStatement, org.hibernate.sql.exec.internal.JdbcParameterImpl, org.hibernate.sql.exec.spi.JdbcOperationQuerySelect, .JdbcParameterBindings

SingleIdEntityLoaderSupport implementation based on using a single array parameter to pass the entire batch of ids.
Author
Steve Ebersole

Field Summary

Modifier and TypeField and Description
private final JdbcMapping
private final int
private final BasicEntityIdentifierMapping
private final JdbcParameter
private final JdbcOperationQuerySelect
private final SelectStatement

Constructor Summary

AccessConstructor and Description
public
EntityBatchLoaderArrayParam(int
The number of domain model parts (up to)
domainBatchSize
,
EntityMappingType entityDescriptor, SessionFactoryImplementor sessionFactory)

Deprecated as a consequence of SessionFactoryImplementor being deprecated.
Instantiates the loader

Method Summary

Modifier and TypeMethod and Description
public int
getDomainBatchSize()

Implements org.hibernate.loader.ast.spi.BatchLoader.getDomainBatchSize.

The total number of loadable references that can be initialized per each load operation.
protected void
public T
load(Object pkValue, LockOptions lockOptions, Boolean readOnly, SharedSessionContractImplementor session)

Implements org.hibernate.loader.ast.spi.SingleIdEntityLoader.load.

Load by primary key value
protected Object[]
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from org.hibernate.loader.ast.internal.AbstractEntityBatchLoader:
loadload

Field Detail

arrayJdbcMappingback to summary
private final JdbcMapping arrayJdbcMapping
domainBatchSizeback to summary
private final int domainBatchSize
identifierMappingback to summary
private final BasicEntityIdentifierMapping identifierMapping
jdbcParameterback to summary
private final JdbcParameter jdbcParameter
jdbcSelectOperationback to summary
private final JdbcOperationQuerySelect jdbcSelectOperation
sqlAstback to summary
private final SelectStatement sqlAst

Constructor Detail

EntityBatchLoaderArrayParamback to summary
public EntityBatchLoaderArrayParam(int domainBatchSize, EntityMappingType entityDescriptor, SessionFactoryImplementor sessionFactory)

Deprecated

as a consequence of SessionFactoryImplementor being deprecated. See corresponding docs for further information.

Instantiates the loader

Implementation Note

We delay initializing the internal SQL AST state until first use. Creating the SQL AST internally relies on the entity's EntityIdentifierMapping. However, we do create the static batch-loader for the entity in the persister constructor and EntityIdentifierMapping is not available at that time. On first use, we know we have it available

Parameters
domainBatchSize:int

The number of domain model parts (up to)

Method Detail

getDomainBatchSizeback to summary
public int getDomainBatchSize()

Implements org.hibernate.loader.ast.spi.BatchLoader.getDomainBatchSize.

Doc from org.hibernate.loader.ast.spi.BatchLoader.getDomainBatchSize.

The total number of loadable references that can be initialized per each load operation.

Annotations
@Override
initializeEntitiesback to summary
protected void initializeEntities(Object[] idsToInitialize, Object id, Object entityInstance, LockOptions lockOptions, Boolean readOnly, SharedSessionContractImplementor session)

Implements abstract org.hibernate.loader.ast.internal.AbstractEntityBatchLoader.initializeEntities.

Annotations
@Override
loadback to summary
public T load(Object pkValue, LockOptions lockOptions, Boolean readOnly, SharedSessionContractImplementor session)

Implements org.hibernate.loader.ast.spi.SingleIdEntityLoader.load.

Doc from org.hibernate.loader.ast.spi.SingleIdEntityLoader.load.

Load by primary key value

Annotations
@Override
resolveIdsToInitializeback to summary
protected Object[] resolveIdsToInitialize(Object pkValue, SharedSessionContractImplementor session)

Implements abstract org.hibernate.loader.ast.internal.AbstractEntityBatchLoader.resolveIdsToInitialize.

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override