Top Fields Constructors Methods
org.hibernate.query.sqm.sql.internal

public Class EntityValuedPathInterpretation<T>

extends AbstractSqmPathInterpretation<T>
implements SqlTupleContainer, Assignable
Class Inheritance
All Implemented Interfaces
org.hibernate.sql.ast.tree.update.Assignable, org.hibernate.sql.ast.tree.expression.SqlTupleContainer
Imports
java.util.ArrayList, .Collections, .List, java.util.function.Consumer, org.hibernate.dialect.Dialect, .FunctionalDependencyAnalysisSupport, org.hibernate.metamodel.mapping.BasicValuedModelPart, .EntityAssociationMapping, .EntityDiscriminatorMapping, .EntityIdentifierMapping, .EntityMappingType, .EntityValuedModelPart, .MappingModelExpressible, .ModelPart, .SelectableConsumer, .ValuedModelPart, org.hibernate.metamodel.mapping.internal.EntityCollectionPart, .ToOneAttributeMapping, org.hibernate.persister.entity.UnionSubclassEntityPersister, org.hibernate.query.derived.AnonymousTupleEntityValuedModelPart, org.hibernate.query.sqm.sql.SqmToSqlAstConverter, org.hibernate.query.sqm.tree.domain.SqmEntityValuedSimplePath, .SqmPath, org.hibernate.query.sqm.tree.select.SqmDynamicInstantiation, .SqmDynamicInstantiationArgument, .SqmQuerySpec, .SqmSelection, org.hibernate.spi.NavigablePath, org.hibernate.sql.ast.Clause, .SqlAstWalker, org.hibernate.sql.ast.spi.SqlAstCreationState, .SqlExpressionResolver, org.hibernate.sql.ast.tree.expression.ColumnReference, .Expression, .SqlTuple, .SqlTupleContainer, org.hibernate.sql.ast.tree.from.TableGroup, .TableReference, org.hibernate.sql.ast.tree.update.Assignable, org.hibernate.sql.results.graph.DomainResultCreationState, .Fetchable, jakarta.persistence.criteria.Selection

Field Summary

Modifier and TypeField and Description
private final Expression

Constructor Summary

AccessConstructor and Description
public
EntityValuedPathInterpretation(Expression sqlExpression, NavigablePath navigablePath, TableGroup tableGroup, EntityValuedModelPart mapping)

Method Summary

Modifier and TypeMethod and Description
public void
public void
private void
applySqlSelections(Expression sqlExpression, SqlAstCreationState creationState)

public static <T> EntityValuedPathInterpretation<T>
from(SqmEntityValuedSimplePath<T> sqmPath, MappingModelExpressible<?> inferredMapping, SqmToSqlAstConverter sqlAstCreationState)

private static <T> EntityValuedPathInterpretation<T>
from(NavigablePath navigablePath, TableGroup tableGroup, EntityValuedModelPart mapping, MappingModelExpressible<?> inferredMapping, SqmToSqlAstConverter sqlAstCreationState)

public static <T> EntityValuedPathInterpretation<T>
from(NavigablePath navigablePath, TableGroup tableGroup, ModelPart resultModelPart, EntityValuedModelPart mapping, EntityValuedModelPart treatedMapping, SqmToSqlAstConverter sqlAstCreationState)

public List<ColumnReference>
public EntityValuedModelPart
public Expression
public SqlTuple
private static boolean
private static boolean
private static boolean
isSelected(TableGroup tableGroup, NavigablePath path, SqmQuerySpec<?> sqmQuerySpec, boolean isTopLevel)

private static boolean
selectionContains(Selection<?> selection, NavigablePath path, NavigablePath tableGroupPath)

private static boolean
public void
Inherited from org.hibernate.query.sqm.sql.internal.AbstractSqmPathInterpretation:
createDomainResultgetNavigablePathgetTableGroup

Field Detail

sqlExpressionback to summary
private final Expression sqlExpression

Constructor Detail

EntityValuedPathInterpretationback to summary
public EntityValuedPathInterpretation(Expression sqlExpression, NavigablePath navigablePath, TableGroup tableGroup, EntityValuedModelPart mapping)

Method Detail

acceptback to summary
public void accept(SqlAstWalker sqlTreeWalker)

Implements org.hibernate.sql.ast.tree.SqlAstNode.accept.

Annotations
@Override
applySqlSelectionsback to summary
public void applySqlSelections(DomainResultCreationState creationState)

Overrides org.hibernate.query.sqm.sql.internal.AbstractSqmPathInterpretation.applySqlSelections.

Implements org.hibernate.query.sqm.sql.internal.DomainResultProducer.applySqlSelections.

Doc from org.hibernate.query.sqm.sql.internal.DomainResultProducer.applySqlSelections.

Used when this producer is a selection in a sub-query. The DomainResult is only needed for root query of a SELECT statement. This default impl assumes this producer is a true (Sql)Expression

Annotations
@Override
applySqlSelectionsback to summary
private void applySqlSelections(Expression sqlExpression, SqlAstCreationState creationState)
fromback to summary
public static <T> EntityValuedPathInterpretation<T> from(SqmEntityValuedSimplePath<T> sqmPath, MappingModelExpressible<?> inferredMapping, SqmToSqlAstConverter sqlAstCreationState)
fromback to summary
private static <T> EntityValuedPathInterpretation<T> from(NavigablePath navigablePath, TableGroup tableGroup, EntityValuedModelPart mapping, MappingModelExpressible<?> inferredMapping, SqmToSqlAstConverter sqlAstCreationState)
fromback to summary
public static <T> EntityValuedPathInterpretation<T> from(NavigablePath navigablePath, TableGroup tableGroup, ModelPart resultModelPart, EntityValuedModelPart mapping, EntityValuedModelPart treatedMapping, SqmToSqlAstConverter sqlAstCreationState)
getColumnReferencesback to summary
public List<ColumnReference> getColumnReferences()

Implements org.hibernate.sql.ast.tree.update.Assignable.getColumnReferences.

Annotations
@Override
getExpressionTypeback to summary
public EntityValuedModelPart getExpressionType()

Overrides org.hibernate.query.sqm.sql.internal.AbstractSqmPathInterpretation.getExpressionType.

Implements org.hibernate.query.sqm.sql.internal.SqmPathInterpretation.getExpressionType.

Doc from org.hibernate.sql.ast.tree.expression.Expression.getExpressionType.

The type for this expression

Annotations
@Override
getSqlExpressionback to summary
public Expression getSqlExpression()

Overrides default org.hibernate.query.sqm.sql.internal.SqmPathInterpretation.getSqlExpression.

Annotations
@Override
getSqlTupleback to summary
public SqlTuple getSqlTuple()

Implements org.hibernate.sql.ast.tree.expression.SqlTupleContainer.getSqlTuple.

Annotations
@Override
hasJoinTableback to summary
private static boolean hasJoinTable(EntityAssociationMapping associationMapping)
hasNotFoundback to summary
private static boolean hasNotFound(EntityValuedModelPart mapping)
isSelectedback to summary
private static boolean isSelected(TableGroup tableGroup, NavigablePath path, SqmQuerySpec<?> sqmQuerySpec, boolean isTopLevel)
selectionContainsback to summary
private static boolean selectionContains(Selection<?> selection, NavigablePath path, NavigablePath tableGroupPath)
supportsFunctionalDependencyback to summary
private static boolean supportsFunctionalDependency(Dialect dialect, EntityMappingType entityMappingType)
visitColumnReferencesback to summary
public void visitColumnReferences(Consumer<ColumnReference> columnReferenceConsumer)

Overrides default org.hibernate.sql.ast.tree.update.Assignable.visitColumnReferences.

Annotations
@Override