Class EntityDelayedFetchInitializer
- java.lang.Object
-
- org.hibernate.sql.results.graph.entity.internal.EntityDelayedFetchInitializer
-
- All Implemented Interfaces:
EntityInitializer,FetchParentAccess,Initializer
public class EntityDelayedFetchInitializer extends Object implements EntityInitializer
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanparentShallowCached
-
Constructor Summary
Constructors Constructor Description EntityDelayedFetchInitializer(FetchParentAccess parentAccess, NavigablePath fetchedNavigable, ToOneAttributeMapping referencedModelPart, boolean selectByUniqueKey, DomainResultAssembler<?> identifierAssembler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidendLoading(ExecutionContext executionContext)Lifecycle method called at the very end of the result values processingvoidfinishUpRow(RowProcessingState rowProcessingState)Lifecycle method called at the end of the current row processing.EntityPersistergetConcreteDescriptor()EntityPersistergetEntityDescriptor()Get the descriptor for the type of entity being initializedObjectgetEntityInstance()Get the entity instance for the currently processing "row".EntityKeygetEntityKey()FetchParentAccessgetFetchParentAccess()protected ObjectgetIdentifier()protected DomainResultAssembler<?>getIdentifierAssembler()ModelPartgetInitializedPart()NavigablePathgetNavigablePath()@Nullable EntityMappingTypegetOwnedModelPartDeclaringType()@Nullable FetchParentAccessgetOwningParent()ObjectgetParentKey()voidinitializeInstance(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.booleanisEntityInitialized()booleanisPartOfKey()protected booleanisProcessed()booleanisResultInitializer()protected booleanisSelectByUniqueKey()voidmarkShallowCached()voidregisterResolutionListener(Consumer<Object> listener)Register a listener to be notified when the parent is "resolved"voidresolveInstance(RowProcessingState rowProcessingState)Step 2 - Using the key resolved inInitializer.resolveKey(org.hibernate.sql.results.jdbc.spi.RowProcessingState), resolve the instance (of the thing initialized) to use for the current row.voidresolveKey(RowProcessingState rowProcessingState)Step 1 - Resolve the key value for this initializer for the current row.protected voidsetEntityInstance(Object entityInstance)protected voidsetIdentifier(Object identifier)protected voidsetProcessed(boolean processed)StringtoString()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.hibernate.sql.results.graph.entity.EntityInitializer
asEntityInitializer, findFirstEntityDescriptorAccess, findFirstEntityInitializer, getInitializedInstance, isEntityInitializer
-
Methods inherited from interface org.hibernate.sql.results.graph.FetchParentAccess
shouldSkipInitializer
-
Methods inherited from interface org.hibernate.sql.results.graph.Initializer
asCollectionInitializer, asEmbeddableInitializer, initializeInstanceFromParent, isCollectionInitializer, isEmbeddableInitializer, startLoading
-
-
-
-
Constructor Detail
-
EntityDelayedFetchInitializer
public EntityDelayedFetchInitializer(FetchParentAccess parentAccess, NavigablePath fetchedNavigable, ToOneAttributeMapping referencedModelPart, boolean selectByUniqueKey, DomainResultAssembler<?> identifierAssembler)
-
-
Method Detail
-
getNavigablePath
public NavigablePath getNavigablePath()
- Specified by:
getNavigablePathin interfaceFetchParentAccess- Specified by:
getNavigablePathin interfaceInitializer
-
resolveKey
public void resolveKey(RowProcessingState rowProcessingState)
Description copied from interface:InitializerStep 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:
resolveKeyin interfaceInitializer
-
getInitializedPart
public ModelPart getInitializedPart()
- Specified by:
getInitializedPartin interfaceInitializer
-
resolveInstance
public void resolveInstance(RowProcessingState rowProcessingState)
Description copied from interface:InitializerStep 2 - Using the key resolved inInitializer.resolveKey(org.hibernate.sql.results.jdbc.spi.RowProcessingState), resolve the instance (of the thing initialized) to use for the current row. After this point, the initializer knows the entity/collection/component instance for the current row based on the resolved key- Specified by:
resolveInstancein interfaceInitializer
-
initializeInstance
public void initializeInstance(RowProcessingState rowProcessingState)
Description copied from interface:InitializerStep 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:
initializeInstancein interfaceInitializer
-
finishUpRow
public void finishUpRow(RowProcessingState rowProcessingState)
Description copied from interface:InitializerLifecycle 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:
finishUpRowin interfaceInitializer
-
markShallowCached
public void markShallowCached()
- Specified by:
markShallowCachedin interfaceInitializer
-
endLoading
public void endLoading(ExecutionContext executionContext)
Description copied from interface:InitializerLifecycle method called at the very end of the result values processing- Specified by:
endLoadingin interfaceInitializer
-
getEntityDescriptor
public EntityPersister getEntityDescriptor()
Description copied from interface:EntityInitializerGet the descriptor for the type of entity being initialized- Specified by:
getEntityDescriptorin interfaceEntityInitializer
-
getEntityInstance
public Object getEntityInstance()
Description copied from interface:EntityInitializerGet the entity instance for the currently processing "row".- Specified by:
getEntityInstancein interfaceEntityInitializer
-
isEntityInitialized
public boolean isEntityInitialized()
- Specified by:
isEntityInitializedin interfaceEntityInitializer- Returns:
- true if the current entity associated to this EntityInitializer has been initialized
-
getFetchParentAccess
public FetchParentAccess getFetchParentAccess()
- Specified by:
getFetchParentAccessin interfaceFetchParentAccess
-
getOwningParent
public @Nullable FetchParentAccess getOwningParent()
- Specified by:
getOwningParentin interfaceFetchParentAccess
-
getOwnedModelPartDeclaringType
public @Nullable EntityMappingType getOwnedModelPartDeclaringType()
- Specified by:
getOwnedModelPartDeclaringTypein interfaceFetchParentAccess
-
isPartOfKey
public boolean isPartOfKey()
- Specified by:
isPartOfKeyin interfaceInitializer
-
isResultInitializer
public boolean isResultInitializer()
- Specified by:
isResultInitializerin interfaceInitializer
-
getConcreteDescriptor
public EntityPersister getConcreteDescriptor()
- Specified by:
getConcreteDescriptorin interfaceEntityInitializer
-
setEntityInstance
protected void setEntityInstance(Object entityInstance)
-
setProcessed
protected void setProcessed(boolean processed)
-
isProcessed
protected boolean isProcessed()
-
getIdentifier
protected Object getIdentifier()
-
setIdentifier
protected void setIdentifier(Object identifier)
-
isSelectByUniqueKey
protected boolean isSelectByUniqueKey()
-
getIdentifierAssembler
protected DomainResultAssembler<?> getIdentifierAssembler()
-
getEntityKey
public EntityKey getEntityKey()
- Specified by:
getEntityKeyin interfaceEntityInitializer
-
getParentKey
public Object getParentKey()
- Specified by:
getParentKeyin interfaceFetchParentAccess
-
registerResolutionListener
public void registerResolutionListener(Consumer<Object> listener)
Description copied from interface:FetchParentAccessRegister a listener to be notified when the parent is "resolved"- Specified by:
registerResolutionListenerin interfaceFetchParentAccess
-
-