Top Description Fields Constructors Methods
org.hibernate.sql.results.graph.embeddable.internal

public Class AggregateEmbeddableFetchImpl

extends AbstractFetchParent
implements EmbeddableResultGraphNode, Fetch
Class Inheritance
All Implemented Interfaces
org.hibernate.sql.results.graph.Fetch, org.hibernate.sql.results.graph.DomainResultGraphNode, org.hibernate.sql.results.graph.embeddable.EmbeddableResultGraphNode, org.hibernate.sql.results.graph.FetchParent
Imports
org.hibernate.engine.FetchTiming, org.hibernate.metamodel.mapping.EmbeddableMappingType, .EmbeddableValuedModelPart, .SelectableMapping, org.hibernate.spi.NavigablePath, org.hibernate.sql.ast.SqlAstJoinType, org.hibernate.sql.ast.spi.SqlAstCreationState, .SqlExpressionResolver, .SqlSelection, org.hibernate.sql.ast.tree.expression.Expression, org.hibernate.sql.ast.tree.from.TableGroup, .TableGroupJoin, .TableGroupProducer, .TableReference, org.hibernate.sql.results.graph.AbstractFetchParent, .AssemblerCreationState, .DomainResultAssembler, .DomainResultCreationState, .Fetch, .FetchParent, .FetchParentAccess, .Fetchable, org.hibernate.sql.results.graph.embeddable.EmbeddableInitializer, .EmbeddableResultGraphNode, .EmbeddableValuedFetchable, org.hibernate.type.spi.TypeConfiguration

A Fetch 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 org.hibernate.sql.results.graph.DomainResultCreationState#visitNestedFetches(FetchParent) for creating the fetches for the attributes of the embeddable.

Field Summary

Modifier and TypeField and Description
private final SqlSelection
private final EmbeddableMappingType
private final FetchParent
private final FetchTiming
private final boolean
private final TableGroup

Constructor Summary

AccessConstructor and Description
public
AggregateEmbeddableFetchImpl(NavigablePath navigablePath, EmbeddableValuedFetchable embeddedPartDescriptor, FetchParent fetchParent, FetchTiming fetchTiming, boolean hasTableGroup, DomainResultCreationState creationState)

Method Summary

Modifier and TypeMethod and Description
public FetchParent
asFetchParent()

Overrides default org.hibernate.sql.results.graph.Fetch.asFetchParent.

Utility method to avoid instanceof checks.
public DomainResultAssembler<J>
createAssembler(FetchParentAccess parentAccess, AssemblerCreationState creationState)

Implements org.hibernate.sql.results.graph.Fetch.createAssembler.

Create the assembler for this fetch
public EmbeddableMappingType
public Fetchable
public FetchParent
getFetchParent()

Implements org.hibernate.sql.results.graph.Fetch.getFetchParent.

Obtain the owner of this fetch.
public EmbeddableValuedModelPart
public EmbeddableMappingType
public FetchTiming
public boolean
hasTableGroup()

Implements org.hibernate.sql.results.graph.Fetch.hasTableGroup.

Is the TableGroup associated with this Fetch defined?
public NavigablePath
Inherited from org.hibernate.sql.results.graph.AbstractFetchParent:
afterInitializecontainsCollectionFetchesfindFetchgetFetchesgetNavigablePathgetResultJavaTypehasJoinFetchesresetFetches

Field Detail

aggregateSelectionback to summary
private final SqlSelection aggregateSelection
fetchContainerback to summary
private final EmbeddableMappingType fetchContainer
fetchParentback to summary
private final FetchParent fetchParent
fetchTimingback to summary
private final FetchTiming fetchTiming
hasTableGroupback to summary
private final boolean hasTableGroup
tableGroupback to summary
private final TableGroup tableGroup

Constructor Detail

AggregateEmbeddableFetchImplback to summary
public AggregateEmbeddableFetchImpl(NavigablePath navigablePath, EmbeddableValuedFetchable embeddedPartDescriptor, FetchParent fetchParent, FetchTiming fetchTiming, boolean hasTableGroup, DomainResultCreationState creationState)

Method Detail

asFetchParentback to summary
public FetchParent asFetchParent()

Overrides default org.hibernate.sql.results.graph.Fetch.asFetchParent.

Doc from org.hibernate.sql.results.graph.Fetch.asFetchParent.

Utility method to avoid instanceof checks. Returns this if it's an instance of FetchParent, null otherwise.

Annotations
@Override
createAssemblerback to summary
public DomainResultAssembler<J> createAssembler(FetchParentAccess parentAccess, AssemblerCreationState creationState)

Implements org.hibernate.sql.results.graph.Fetch.createAssembler.

Doc from org.hibernate.sql.results.graph.Fetch.createAssembler.

Create the assembler for this fetch

Annotations
@Override
getFetchContainerback to summary
public EmbeddableMappingType getFetchContainer()

Implements abstract org.hibernate.sql.results.graph.AbstractFetchParent.getFetchContainer.

Annotations
@Override
getFetchedMappingback to summary
public Fetchable getFetchedMapping()

Implements org.hibernate.sql.results.graph.Fetch.getFetchedMapping.

Doc from org.hibernate.sql.results.graph.Fetch.getFetchedMapping.

The value mapping being fetched

Annotations
@Override
getFetchParentback to summary
public FetchParent getFetchParent()

Implements org.hibernate.sql.results.graph.Fetch.getFetchParent.

Doc from org.hibernate.sql.results.graph.Fetch.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. org.hibernate.annotations.Parent)

Annotations
@Override
getReferencedMappingContainerback to summary
public EmbeddableValuedModelPart getReferencedMappingContainer()

Overrides org.hibernate.sql.results.graph.AbstractFetchParent.getReferencedMappingContainer.

Implements org.hibernate.sql.results.graph.embeddable.EmbeddableResultGraphNode.getReferencedMappingContainer, org.hibernate.sql.results.graph.FetchParent.getReferencedMappingContainer.

Doc from org.hibernate.sql.results.graph.FetchParent.getReferencedMappingContainer.

This parent's mapping type

Annotations
@Override
getReferencedMappingTypeback to summary
public EmbeddableMappingType getReferencedMappingType()

Implements org.hibernate.sql.results.graph.embeddable.EmbeddableResultGraphNode.getReferencedMappingType, org.hibernate.sql.results.graph.FetchParent.getReferencedMappingType.

Doc from org.hibernate.sql.results.graph.FetchParent.getReferencedMappingType.

This parent's mapping type

Annotations
@Override
getTimingback to summary
public FetchTiming getTiming()

Implements org.hibernate.sql.results.graph.Fetch.getTiming.

Doc from org.hibernate.sql.results.graph.Fetch.getTiming.

immediate or delayed? todo (6.0) : should we also expose the fetch-style? Perhaps the fetch-options?

Annotations
@Override
hasTableGroupback to summary
public boolean hasTableGroup()

Implements org.hibernate.sql.results.graph.Fetch.hasTableGroup.

Doc from org.hibernate.sql.results.graph.Fetch.hasTableGroup.

Is the TableGroup associated with this Fetch defined?

Annotations
@Override
resolveNavigablePathback to summary
public NavigablePath resolveNavigablePath(Fetchable fetchable)

Overrides default org.hibernate.sql.results.graph.FetchParent.resolveNavigablePath.

Annotations
@Override