Package org.hibernate.sql.results.graph
Interface Fetch
-
- All Superinterfaces:
DomainResultGraphNode
- All Known Subinterfaces:
BiDirectionalFetch
,EntityFetch
- All Known Implementing Classes:
AbstractNonJoinedEntityFetch
,AggregateEmbeddableFetchImpl
,BasicFetch
,CircularBiDirectionalFetchImpl
,CircularFetchImpl
,CollectionFetch
,DelayedCollectionFetch
,DiscriminatedEntityFetch
,EagerCollectionFetch
,EmbeddableFetchImpl
,EntityDelayedFetchImpl
,EntityFetchJoinedImpl
,EntityFetchSelectImpl
,NonAggregatedIdentifierMappingFetch
,SelectEagerCollectionFetch
@Incubating public interface Fetch extends DomainResultGraphNode
Contract for fetches including entity, collection and composite. Acts as the producer for theDomainResultAssembler
for this result as well as anyInitializer
instances needed
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default FetchParent
asFetchParent()
Utility method to avoidinstanceof
checks.default boolean
containsAnyNonScalarResults()
Does this node contain any non-scalar (sub-)results?DomainResultAssembler<?>
createAssembler(InitializerParent<?> parent, 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 fetchFetchTiming
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 interface org.hibernate.sql.results.graph.DomainResultGraphNode
appliesTo, collectValueIndexesToCache, getResultJavaType
-
-
-
-
Method Detail
-
getNavigablePath
NavigablePath getNavigablePath()
Get the property path to this fetch- Specified by:
getNavigablePath
in interfaceDomainResultGraphNode
- Returns:
- The property path
-
getFetchParent
FetchParent getFetchParent()
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
)
-
asFetchParent
default FetchParent asFetchParent()
Utility method to avoidinstanceof
checks. Returns this if it's an instance ofFetchParent
, null otherwise.
-
getFetchedMapping
Fetchable getFetchedMapping()
The value mapping being fetched
-
getTiming
FetchTiming getTiming()
immediate or delayed? todo (6.0) : should we also expose the fetch-style? Perhaps the fetch-options?
-
hasTableGroup
boolean hasTableGroup()
Is the TableGroup associated with this Fetch defined?
-
containsAnyNonScalarResults
default boolean containsAnyNonScalarResults()
Description copied from interface:DomainResultGraphNode
Does this node contain any non-scalar (sub-)results?- Specified by:
containsAnyNonScalarResults
in interfaceDomainResultGraphNode
-
createAssembler
DomainResultAssembler<?> createAssembler(InitializerParent<?> parent, AssemblerCreationState creationState)
Create the assembler for this fetch
-
-