Class CircularFetchImpl
- java.lang.Object
-
- org.hibernate.sql.results.graph.entity.internal.AbstractNonJoinedEntityFetch
-
- org.hibernate.sql.results.internal.domain.CircularFetchImpl
-
- All Implemented Interfaces:
BiDirectionalFetch
,DomainResultGraphNode
,EntityFetch
,EntityResultGraphNode
,Fetch
,FetchParent
,InitializerProducer<AbstractNonJoinedEntityFetch>
public class CircularFetchImpl extends AbstractNonJoinedEntityFetch implements BiDirectionalFetch
-
-
Constructor Summary
Constructors Modifier Constructor Description CircularFetchImpl(ToOneAttributeMapping referencedModelPart, FetchTiming timing, NavigablePath navigablePath, FetchParent fetchParent, boolean selectByUniqueKey, NavigablePath referencedNavigablePath, DomainResult<?> keyResult)
protected
CircularFetchImpl(CircularFetchImpl original)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected EntityInitializer
buildEntityDelayedFetchInitializer(FetchParentAccess parentAccess, NavigablePath referencedPath, ToOneAttributeMapping fetchable, boolean selectByUniqueKey, DomainResultAssembler<?> resultAssembler)
protected EntityInitializer
buildEntitySelectFetchInitializer(FetchParentAccess parentAccess, ToOneAttributeMapping fetchable, EntityPersister entityPersister, DomainResult<?> keyResult, NavigablePath navigablePath, boolean selectByUniqueKey, AssemblerCreationState creationState)
DomainResultAssembler<?>
createAssembler(FetchParentAccess parentAccess, AssemblerCreationState creationState)
Create the assembler for this fetchEntityInitializer
createInitializer(FetchParentAccess parentAccess, AssemblerCreationState creationState)
NavigablePath
getReferencedPath()
The NavigablePath for the DomainResult or Fetch that this Fetch refers to.FetchTiming
getTiming()
immediate or delayed? todo (6.0) : should we also expose the fetch-style? Perhaps the fetch-options?boolean
hasTableGroup()
Is the TableGroup associated with this Fetch defined?-
Methods inherited from class org.hibernate.sql.results.graph.entity.internal.AbstractNonJoinedEntityFetch
buildEntityAssembler, collectValueIndexesToCache, containsCollectionFetches, createInitializer, findFetch, getEntityValuedModelPart, getFetchedMapping, getFetches, getFetchParent, getKeyResult, getNavigablePath, getReferencedMappingType, hasJoinFetches, isSelectByUniqueKey
-
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.BiDirectionalFetch
collectValueIndexesToCache
-
Methods inherited from interface org.hibernate.sql.results.graph.entity.EntityFetch
asFetchParent, containsAnyNonScalarResults
-
Methods inherited from interface org.hibernate.sql.results.graph.entity.EntityResultGraphNode
appliesTo, getReferencedMappingContainer, getResultJavaType
-
Methods inherited from interface org.hibernate.sql.results.graph.Fetch
containsAnyNonScalarResults, getFetchedMapping, getFetchParent, getNavigablePath
-
Methods inherited from interface org.hibernate.sql.results.graph.FetchParent
generateFetchableFetch, getReferencedModePart, getRoot, resolveNavigablePath
-
-
-
-
Constructor Detail
-
CircularFetchImpl
public CircularFetchImpl(ToOneAttributeMapping referencedModelPart, FetchTiming timing, NavigablePath navigablePath, FetchParent fetchParent, boolean selectByUniqueKey, NavigablePath referencedNavigablePath, DomainResult<?> keyResult)
-
CircularFetchImpl
protected CircularFetchImpl(CircularFetchImpl original)
-
-
Method Detail
-
getReferencedPath
public NavigablePath getReferencedPath()
Description copied from interface:BiDirectionalFetch
The NavigablePath for the DomainResult or Fetch that this Fetch refers to. For `o`, the referenced path is `p`. For `oa`, it's `p.address` Different fromFetch.getNavigablePath()
which returns this fetch's path, i.e. `p.address.owner` and `p.address.owner.address` respectively- Specified by:
getReferencedPath
in interfaceBiDirectionalFetch
-
getTiming
public FetchTiming getTiming()
Description copied from interface:Fetch
immediate or delayed? todo (6.0) : should we also expose the fetch-style? Perhaps the fetch-options?
-
hasTableGroup
public boolean hasTableGroup()
Description copied from interface:Fetch
Is the TableGroup associated with this Fetch defined?- Specified by:
hasTableGroup
in interfaceFetch
- Overrides:
hasTableGroup
in classAbstractNonJoinedEntityFetch
-
createAssembler
public DomainResultAssembler<?> createAssembler(FetchParentAccess parentAccess, AssemblerCreationState creationState)
Description copied from interface:Fetch
Create the assembler for this fetch- Specified by:
createAssembler
in interfaceFetch
- Overrides:
createAssembler
in classAbstractNonJoinedEntityFetch
-
createInitializer
public EntityInitializer createInitializer(FetchParentAccess parentAccess, AssemblerCreationState creationState)
- Specified by:
createInitializer
in interfaceFetchParent
- Specified by:
createInitializer
in classAbstractNonJoinedEntityFetch
-
buildEntitySelectFetchInitializer
protected EntityInitializer buildEntitySelectFetchInitializer(FetchParentAccess parentAccess, ToOneAttributeMapping fetchable, EntityPersister entityPersister, DomainResult<?> keyResult, NavigablePath navigablePath, boolean selectByUniqueKey, AssemblerCreationState creationState)
-
buildEntityDelayedFetchInitializer
protected EntityInitializer buildEntityDelayedFetchInitializer(FetchParentAccess parentAccess, NavigablePath referencedPath, ToOneAttributeMapping fetchable, boolean selectByUniqueKey, DomainResultAssembler<?> resultAssembler)
-
-