Class AbstractBatchEntitySelectFetchInitializer
- java.lang.Object
-
- org.hibernate.sql.results.graph.AbstractFetchParentAccess
-
- org.hibernate.sql.results.graph.entity.internal.AbstractBatchEntitySelectFetchInitializer
-
- All Implemented Interfaces:
EntityInitializer
,FetchParentAccess
,Initializer
- Direct Known Subclasses:
BatchEntityInsideEmbeddableSelectFetchInitializer
,BatchEntitySelectFetchInitializer
,BatchInitializeEntitySelectFetchInitializer
public abstract class AbstractBatchEntitySelectFetchInitializer extends AbstractFetchParentAccess implements EntityInitializer
-
-
Field Summary
Fields Modifier and Type Field Description protected EntityPersister
concreteDescriptor
protected EntityKey
entityKey
protected EntityInitializer
firstEntityInitializer
protected DomainResultAssembler<?>
identifierAssembler
protected Object
initializedEntityInstance
protected FetchParentAccess
parentAccess
protected ToOneAttributeMapping
referencedModelPart
protected org.hibernate.sql.results.graph.entity.internal.AbstractBatchEntitySelectFetchInitializer.State
state
-
Constructor Summary
Constructors Constructor Description AbstractBatchEntitySelectFetchInitializer(FetchParentAccess parentAccess, ToOneAttributeMapping referencedModelPart, NavigablePath fetchedNavigable, EntityPersister concreteDescriptor, DomainResultAssembler<?> identifierAssembler)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
finishUpRow(RowProcessingState rowProcessingState)
Lifecycle method called at the end of the current row processing.EntityPersister
getConcreteDescriptor()
EntityPersister
getEntityDescriptor()
Get the descriptor for the type of entity being initializedObject
getEntityInstance()
Get the entity instance for the currently processing "row".EntityKey
getEntityKey()
protected Object
getExistingInitializedInstance(RowProcessingState rowProcessingState)
FetchParentAccess
getFetchParentAccess()
ModelPart
getInitializedPart()
NavigablePath
getNavigablePath()
protected AttributeMapping
getParentEntityAttribute(String attributeName)
Object
getParentKey()
void
initializeInstance(RowProcessingState rowProcessingState)
Step 3 - Initialize the state of the instance resolved inInitializer.resolveInstance(org.hibernate.sql.results.jdbc.spi.RowProcessingState)
from the current row values.protected static Object
loadInstance(EntityKey entityKey, ToOneAttributeMapping referencedModelPart, SharedSessionContractImplementor session)
protected abstract void
registerResolutionListener()
void
registerResolutionListener(Consumer<Object> listener)
Register a listener to be notified when the parent is "resolved"protected void
registerToBatchFetchQueue(RowProcessingState rowProcessingState)
void
resolveKey(RowProcessingState rowProcessingState)
Step 1 - Resolve the key value for this initializer for the current row.protected void
resolveKey(RowProcessingState rowProcessingState, ToOneAttributeMapping referencedModelPart, FetchParentAccess parentAccess)
-
Methods inherited from class org.hibernate.sql.results.graph.AbstractFetchParentAccess
clearResolutionListeners, notifyResolutionListeners
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.sql.results.graph.entity.EntityInitializer
asEntityInitializer, findFirstEntityDescriptorAccess, findFirstEntityInitializer, getInitializedInstance, isEntityInitialized, isEntityInitializer
-
Methods inherited from interface org.hibernate.sql.results.graph.Initializer
asEmbeddableInitializer, endLoading, isAttributeAssignableToConcreteDescriptor, isCollectionInitializer, isEmbeddableInitializer, resolveInstance
-
-
-
-
Field Detail
-
parentAccess
protected final FetchParentAccess parentAccess
-
concreteDescriptor
protected final EntityPersister concreteDescriptor
-
identifierAssembler
protected final DomainResultAssembler<?> identifierAssembler
-
referencedModelPart
protected final ToOneAttributeMapping referencedModelPart
-
firstEntityInitializer
protected final EntityInitializer firstEntityInitializer
-
initializedEntityInstance
protected Object initializedEntityInstance
-
entityKey
protected EntityKey entityKey
-
state
protected org.hibernate.sql.results.graph.entity.internal.AbstractBatchEntitySelectFetchInitializer.State state
-
-
Constructor Detail
-
AbstractBatchEntitySelectFetchInitializer
public AbstractBatchEntitySelectFetchInitializer(FetchParentAccess parentAccess, ToOneAttributeMapping referencedModelPart, NavigablePath fetchedNavigable, EntityPersister concreteDescriptor, DomainResultAssembler<?> identifierAssembler)
-
-
Method Detail
-
getInitializedPart
public ModelPart getInitializedPart()
- Specified by:
getInitializedPart
in interfaceInitializer
-
getNavigablePath
public NavigablePath getNavigablePath()
- Specified by:
getNavigablePath
in interfaceFetchParentAccess
- Specified by:
getNavigablePath
in interfaceInitializer
-
resolveKey
public void resolveKey(RowProcessingState rowProcessingState)
Description copied from interface:Initializer
Step 1 - Resolve the key value for this initializer for the current row. After this point, the initializer knows the entity/collection/component key for the current row- Specified by:
resolveKey
in interfaceInitializer
-
initializeInstance
public void initializeInstance(RowProcessingState rowProcessingState)
Description copied from interface:Initializer
Step 3 - Initialize the state of the instance resolved inInitializer.resolveInstance(org.hibernate.sql.results.jdbc.spi.RowProcessingState)
from the current row values. All resolved state for the current row is injected into the resolved instance- Specified by:
initializeInstance
in interfaceInitializer
-
registerResolutionListener
protected abstract void registerResolutionListener()
-
resolveKey
protected void resolveKey(RowProcessingState rowProcessingState, ToOneAttributeMapping referencedModelPart, FetchParentAccess parentAccess)
-
getExistingInitializedInstance
protected Object getExistingInitializedInstance(RowProcessingState rowProcessingState)
-
registerToBatchFetchQueue
protected void registerToBatchFetchQueue(RowProcessingState rowProcessingState)
-
finishUpRow
public void finishUpRow(RowProcessingState rowProcessingState)
Description copied from interface:Initializer
Lifecycle method called at the end of the current row processing. Provides ability to complete processing from the current row and prepare for the next row.- Specified by:
finishUpRow
in interfaceInitializer
-
getEntityDescriptor
public EntityPersister getEntityDescriptor()
Description copied from interface:EntityInitializer
Get the descriptor for the type of entity being initialized- Specified by:
getEntityDescriptor
in interfaceEntityInitializer
-
getEntityInstance
public Object getEntityInstance()
Description copied from interface:EntityInitializer
Get the entity instance for the currently processing "row".- Specified by:
getEntityInstance
in interfaceEntityInitializer
-
getEntityKey
public EntityKey getEntityKey()
- Specified by:
getEntityKey
in interfaceEntityInitializer
-
getParentKey
public Object getParentKey()
- Specified by:
getParentKey
in interfaceFetchParentAccess
-
registerResolutionListener
public void registerResolutionListener(Consumer<Object> listener)
Description copied from interface:FetchParentAccess
Register a listener to be notified when the parent is "resolved"- Specified by:
registerResolutionListener
in interfaceFetchParentAccess
- Overrides:
registerResolutionListener
in classAbstractFetchParentAccess
-
loadInstance
protected static Object loadInstance(EntityKey entityKey, ToOneAttributeMapping referencedModelPart, SharedSessionContractImplementor session)
-
getParentEntityAttribute
protected AttributeMapping getParentEntityAttribute(String attributeName)
-
getFetchParentAccess
public FetchParentAccess getFetchParentAccess()
- Specified by:
getFetchParentAccess
in interfaceFetchParentAccess
-
getConcreteDescriptor
public EntityPersister getConcreteDescriptor()
- Specified by:
getConcreteDescriptor
in interfaceEntityInitializer
-
-