Class CircularBiDirectionalFetchImpl
- java.lang.Object
-
- org.hibernate.sql.results.internal.domain.CircularBiDirectionalFetchImpl
-
- All Implemented Interfaces:
BiDirectionalFetch
,DomainResultGraphNode
,Fetch
public class CircularBiDirectionalFetchImpl extends Object implements BiDirectionalFetch
-
-
Constructor Summary
Constructors Constructor Description CircularBiDirectionalFetchImpl(FetchTiming timing, NavigablePath navigablePath, FetchParent fetchParent, ToOneAttributeMapping fetchable, LockMode lockMode, NavigablePath referencedNavigablePath, DomainResult<?> keyDomainResult)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DomainResultAssembler
createAssembler(FetchParentAccess parentAccess, AssemblerCreationState creationState)
Create the assembler for this fetchFetchable
getFetchedMapping()
The value mapping being fetchedFetchParent
getFetchParent()
Obtain the owner of this fetch.NavigablePath
getNavigablePath()
Get the property path to this fetchNavigablePath
getReferencedPath()
The NavigablePath for the DomainResult or Fetch that this Fetch refers to.JavaType<?>
getResultJavaType()
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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.sql.results.graph.DomainResultGraphNode
appliesTo
-
Methods inherited from interface org.hibernate.sql.results.graph.Fetch
asFetchParent, containsAnyNonScalarResults
-
-
-
-
Constructor Detail
-
CircularBiDirectionalFetchImpl
public CircularBiDirectionalFetchImpl(FetchTiming timing, NavigablePath navigablePath, FetchParent fetchParent, ToOneAttributeMapping fetchable, LockMode lockMode, NavigablePath referencedNavigablePath, DomainResult<?> keyDomainResult)
-
-
Method Detail
-
getNavigablePath
public NavigablePath getNavigablePath()
Description copied from interface:Fetch
Get the property path to this fetch- Specified by:
getNavigablePath
in interfaceDomainResultGraphNode
- Specified by:
getNavigablePath
in interfaceFetch
- Returns:
- The property path
-
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
-
getFetchParent
public FetchParent getFetchParent()
Description copied from interface:Fetch
Obtain the owner of this fetch. Ultimately used to identify the thing that "owns" this fetched navigable for the purpose of:* identifying the associated owner reference as we process the fetch * inject the fetched instance into the parent and potentially inject the parent reference into the fetched instance if it defines such injection (e.g.
Parent
)- Specified by:
getFetchParent
in interfaceFetch
-
getFetchedMapping
public Fetchable getFetchedMapping()
Description copied from interface:Fetch
The value mapping being fetched- Specified by:
getFetchedMapping
in interfaceFetch
-
getResultJavaType
public JavaType<?> getResultJavaType()
- Specified by:
getResultJavaType
in interfaceDomainResultGraphNode
-
createAssembler
public DomainResultAssembler createAssembler(FetchParentAccess parentAccess, AssemblerCreationState creationState)
Description copied from interface:Fetch
Create the assembler for this fetch- Specified by:
createAssembler
in interfaceFetch
-
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
-
-