Class AggregateEmbeddableFetchImpl
- java.lang.Object
-
- org.hibernate.sql.results.graph.AbstractFetchParent
-
- org.hibernate.sql.results.graph.embeddable.internal.AggregateEmbeddableFetchImpl
-
- All Implemented Interfaces:
DomainResultGraphNode
,EmbeddableResultGraphNode
,Fetch
,FetchParent
public class AggregateEmbeddableFetchImpl extends AbstractFetchParent implements EmbeddableResultGraphNode, Fetch
A Fetch for an embeddable that is mapped as aggregate e.g. STRUCT, JSON or XML. This is only used whenEmbeddableMappingType.shouldSelectAggregateMapping()
returnstrue
. The main difference is that it selects only the aggregate column and usesDomainResultCreationState.visitNestedFetches(FetchParent)
for creating the fetches for the attributes of the embeddable.
-
-
Constructor Summary
Constructors Constructor Description AggregateEmbeddableFetchImpl(NavigablePath navigablePath, EmbeddableValuedFetchable embeddedPartDescriptor, FetchParent fetchParent, FetchTiming fetchTiming, boolean hasTableGroup, DomainResultCreationState creationState)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DomainResultAssembler
createAssembler(FetchParentAccess parentAccess, AssemblerCreationState creationState)
Create the assembler for this fetchEmbeddableMappingType
getFetchContainer()
Fetchable
getFetchedMapping()
The value mapping being fetchedFetchParent
getFetchParent()
Obtain the owner of this fetch.EmbeddableValuedModelPart
getReferencedMappingContainer()
This parent's mapping typeEmbeddableMappingType
getReferencedMappingType()
This parent's mapping typeFetchTiming
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?NavigablePath
resolveNavigablePath(Fetchable fetchable)
-
Methods inherited from class org.hibernate.sql.results.graph.AbstractFetchParent
afterInitialize, containsCollectionFetches, findFetch, getFetches, getNavigablePath, getResultJavaType, hasJoinFetches, resetFetches
-
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, getResultJavaType
-
Methods inherited from interface org.hibernate.sql.results.graph.embeddable.EmbeddableResultGraphNode
getNavigablePath
-
Methods inherited from interface org.hibernate.sql.results.graph.Fetch
containsAnyNonScalarResults, getNavigablePath
-
Methods inherited from interface org.hibernate.sql.results.graph.FetchParent
containsCollectionFetches, findFetch, generateFetchableFetch, getFetches, getReferencedModePart, getRoot, hasJoinFetches
-
-
-
-
Constructor Detail
-
AggregateEmbeddableFetchImpl
public AggregateEmbeddableFetchImpl(NavigablePath navigablePath, EmbeddableValuedFetchable embeddedPartDescriptor, FetchParent fetchParent, FetchTiming fetchTiming, boolean hasTableGroup, DomainResultCreationState creationState)
-
-
Method Detail
-
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
-
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
-
getFetchContainer
public EmbeddableMappingType getFetchContainer()
- Specified by:
getFetchContainer
in classAbstractFetchParent
-
getReferencedMappingContainer
public EmbeddableValuedModelPart getReferencedMappingContainer()
Description copied from interface:FetchParent
This parent's mapping type- Specified by:
getReferencedMappingContainer
in interfaceEmbeddableResultGraphNode
- Specified by:
getReferencedMappingContainer
in interfaceFetchParent
- Overrides:
getReferencedMappingContainer
in classAbstractFetchParent
-
getFetchedMapping
public Fetchable getFetchedMapping()
Description copied from interface:Fetch
The value mapping being fetched- Specified by:
getFetchedMapping
in interfaceFetch
-
resolveNavigablePath
public NavigablePath resolveNavigablePath(Fetchable fetchable)
- Specified by:
resolveNavigablePath
in interfaceFetchParent
-
getReferencedMappingType
public EmbeddableMappingType getReferencedMappingType()
Description copied from interface:FetchParent
This parent's mapping type- Specified by:
getReferencedMappingType
in interfaceEmbeddableResultGraphNode
- Specified by:
getReferencedMappingType
in interfaceFetchParent
-
createAssembler
public DomainResultAssembler createAssembler(FetchParentAccess parentAccess, AssemblerCreationState creationState)
Description copied from interface:Fetch
Create the assembler for this fetch- Specified by:
createAssembler
in interfaceFetch
-
-