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 TypeMethodDescriptionbooleanDoes 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, resetFetchesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.sql.results.graph.DomainResultGraphNode
appliesToMethods inherited from interface org.hibernate.sql.results.graph.embeddable.EmbeddableResultGraphNode
getNavigablePathMethods 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:AggregateEmbeddableResultGraphNodeReturns the positions within the values array of the respective nesting level at which the data for this aggregate can be found.- Specified by:
getAggregateValuesArrayPositionsin interfaceAggregateEmbeddableResultGraphNode
-
getResultVariable
Description copied from interface:DomainResultThe result-variable (alias) associated with this result.- Specified by:
getResultVariablein interfaceDomainResult<T>
-
containsAnyNonScalarResults
public boolean containsAnyNonScalarResults()Description copied from interface:DomainResultGraphNodeDoes this node contain any non-scalar (sub-)results?- Specified by:
containsAnyNonScalarResultsin interfaceDomainResultGraphNode
-
getFetchContainer
- Specified by:
getFetchContainerin classAbstractFetchParent
-
getResultJavaType
- Specified by:
getResultJavaTypein interfaceDomainResultGraphNode- Overrides:
getResultJavaTypein classAbstractFetchParent
-
getReferencedMappingType
Description copied from interface:FetchParentThis parent's mapping type- Specified by:
getReferencedMappingTypein interfaceEmbeddableResultGraphNode- Specified by:
getReferencedMappingTypein interfaceFetchParent
-
getReferencedMappingContainer
Description copied from interface:FetchParentThis parent's mapping type- Specified by:
getReferencedMappingContainerin interfaceEmbeddableResultGraphNode- Specified by:
getReferencedMappingContainerin interfaceFetchParent- Overrides:
getReferencedMappingContainerin classAbstractFetchParent
-
createResultAssembler
public DomainResultAssembler<T> createResultAssembler(InitializerParent<?> parent, AssemblerCreationState creationState) Description copied from interface:DomainResultCreate an assembler (and any initializers) for this result.- Specified by:
createResultAssemblerin interfaceDomainResult<T>
-
createInitializer
public Initializer<?> createInitializer(AggregateEmbeddableResultImpl<T> resultGraphNode, InitializerParent<?> parent, AssemblerCreationState creationState) - Specified by:
createInitializerin interfaceInitializerProducer<T>
-
createInitializer
public Initializer<?> createInitializer(InitializerParent<?> parent, AssemblerCreationState creationState) - Specified by:
createInitializerin interfaceFetchParent
-