Class AggregateEmbeddableResultImpl<T>
java.lang.Object
org.hibernate.sql.results.graph.AbstractFetchParent
org.hibernate.sql.results.graph.embeddable.internal.AggregateEmbeddableResultImpl<T>
- All Implemented Interfaces:
DomainResult<T>
,DomainResultGraphNode
,AggregateEmbeddableResultGraphNode
,EmbeddableResult<T>
,EmbeddableResultGraphNode
,FetchParent
,InitializerProducer<AggregateEmbeddableResultImpl<T>>
public class AggregateEmbeddableResultImpl<T>
extends AbstractFetchParent
implements AggregateEmbeddableResultGraphNode, DomainResult<T>, EmbeddableResult<T>, InitializerProducer<AggregateEmbeddableResultImpl<T>>
A Result for an embeddable that is mapped as aggregate e.g. STRUCT, JSON or XML.
This is only used when
EmbeddableMappingType.shouldSelectAggregateMapping()
returns true
.
The main difference is that it selects only the aggregate column and
uses DomainResultCreationState.visitNestedFetches(FetchParent)
for creating the fetches for the attributes of the embeddable.-
Constructor Summary
ConstructorsConstructorDescriptionAggregateEmbeddableResultImpl
(NavigablePath navigablePath, EmbeddableValuedModelPart embeddedPartDescriptor, String resultVariable, DomainResultCreationState creationState) -
Method Summary
Modifier and TypeMethodDescriptionboolean
Does this node contain any non-scalar (sub-)results?Initializer<?>
createInitializer
(AggregateEmbeddableResultImpl<T> resultGraphNode, InitializerParent<?> parent, AssemblerCreationState creationState) Initializer<?>
createInitializer
(InitializerParent<?> parent, AssemblerCreationState creationState) createResultAssembler
(InitializerParent<?> parent, AssemblerCreationState creationState) Create an assembler (and any initializers) for this result.int[]
Returns the positions within the values array of the respective nesting level at which the data for this aggregate can be found.This parent's mapping typeThis parent's mapping typeJavaType<?>
The result-variable (alias) associated with this result.Methods inherited from class org.hibernate.sql.results.graph.AbstractFetchParent
afterInitialize, collectValueIndexesToCache, containsCollectionFetches, findFetch, getFetches, getNavigablePath, 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
Methods inherited from interface org.hibernate.sql.results.graph.embeddable.EmbeddableResultGraphNode
getNavigablePath
Methods inherited from interface org.hibernate.sql.results.graph.FetchParent
collectValueIndexesToCache, containsCollectionFetches, findFetch, generateFetchableFetch, getCollectionFetchesCount, getFetches, getReferencedModePart, getRoot, hasJoinFetches, resolveNavigablePath
-
Constructor Details
-
Method Details
-
getAggregateValuesArrayPositions
public int[] getAggregateValuesArrayPositions()Description copied from interface:AggregateEmbeddableResultGraphNode
Returns the positions within the values array of the respective nesting level at which the data for this aggregate can be found.- Specified by:
getAggregateValuesArrayPositions
in interfaceAggregateEmbeddableResultGraphNode
-
getResultVariable
Description copied from interface:DomainResult
The result-variable (alias) associated with this result.- Specified by:
getResultVariable
in interfaceDomainResult<T>
-
containsAnyNonScalarResults
public boolean containsAnyNonScalarResults()Description copied from interface:DomainResultGraphNode
Does this node contain any non-scalar (sub-)results?- Specified by:
containsAnyNonScalarResults
in interfaceDomainResultGraphNode
-
getFetchContainer
- Specified by:
getFetchContainer
in classAbstractFetchParent
-
getResultJavaType
- Specified by:
getResultJavaType
in interfaceDomainResultGraphNode
- Overrides:
getResultJavaType
in classAbstractFetchParent
-
getReferencedMappingType
Description copied from interface:FetchParent
This parent's mapping type- Specified by:
getReferencedMappingType
in interfaceEmbeddableResultGraphNode
- Specified by:
getReferencedMappingType
in interfaceFetchParent
-
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
-
createResultAssembler
public DomainResultAssembler<T> createResultAssembler(InitializerParent<?> parent, AssemblerCreationState creationState) Description copied from interface:DomainResult
Create an assembler (and any initializers) for this result.- Specified by:
createResultAssembler
in interfaceDomainResult<T>
-
createInitializer
public Initializer<?> createInitializer(AggregateEmbeddableResultImpl<T> resultGraphNode, InitializerParent<?> parent, AssemblerCreationState creationState) - Specified by:
createInitializer
in interfaceInitializerProducer<T>
-
createInitializer
public Initializer<?> createInitializer(InitializerParent<?> parent, AssemblerCreationState creationState) - Specified by:
createInitializer
in interfaceFetchParent
-