Top Inners Fields Constructors Methods
org.hibernate.query.results

public Class DomainResultCreationStateImpl

extends Object
implements DomainResultCreationState, SqlAstCreationState, SqlAstProcessingState, SqlExpressionResolver
Class Inheritance
All Implemented Interfaces
org.hibernate.sql.ast.spi.SqlExpressionResolver, org.hibernate.sql.ast.spi.SqlAstProcessingState, org.hibernate.sql.ast.spi.SqlAstCreationState, org.hibernate.sql.results.graph.DomainResultCreationState
Annotations
@Internal
Imports
java.util.AbstractMap, .HashMap, .Map, java.util.function.Consumer, .Function, org.hibernate.Internal, .LockMode, org.hibernate.engine.FetchTiming, org.hibernate.engine.spi.LoadQueryInfluencers, .SessionFactoryImplementor, org.hibernate.internal.util.collections.Stack, .StandardStack, org.hibernate.metamodel.mapping.Association, .AssociationKey, .AttributeMapping, .CompositeIdentifierMapping, .EntityIdentifierMapping, .EntityValuedModelPart, .ForeignKeyDescriptor, .ModelPart, .NonAggregatedIdentifierMapping, org.hibernate.metamodel.mapping.internal.BasicValuedCollectionPart, .CaseStatementDiscriminatorMappingImpl, .SingleAttributeIdentifierMapping, org.hibernate.spi.EntityIdentifierNavigablePath, .NavigablePath, org.hibernate.query.results.dynamic.DynamicFetchBuilderLegacy, .LegacyFetchResolver, org.hibernate.sql.ast.spi.SqlAliasBaseGenerator, .SqlAliasBaseManager, .SqlAstCreationContext, .SqlAstCreationState, .SqlAstProcessingState, .SqlExpressionResolver, .SqlSelection, org.hibernate.sql.ast.tree.expression.ColumnReference, .Expression, org.hibernate.sql.ast.tree.from.TableGroup, org.hibernate.sql.results.ResultsLogger, org.hibernate.sql.results.graph.DomainResultCreationState, .Fetch, .FetchParent, .Fetchable, .FetchableContainer, org.hibernate.sql.results.graph.entity.EntityResultGraphNode, org.hibernate.sql.results.graph.internal.ImmutableFetchList, org.hibernate.sql.results.jdbc.spi.JdbcValuesMetadata, org.hibernate.type.descriptor.java.JavaType, org.hibernate.type.spi.TypeConfiguration

Author
Steve Ebersole

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private boolean
private ForeignKeyDescriptor.Nature
private static final String
private final Stack<Function<T, R>>
private final FromClauseAccessImpl
private final JdbcValuesMetadata
private final DomainResultCreationStateImpl.LegacyFetchResolverImpl
private final LoadQueryInfluencers
private FetchParent
private boolean
private Map<String, LockMode>
private final Stack<Map.Entry<K, V>>
private boolean
private final SessionFactoryImplementor
sessionFactory

Deprecated as a consequence of SessionFactoryImplementor being deprecated.
private final SqlAliasBaseManager
private final Consumer<SqlSelection>
private final Map<SqlExpressionResolver.ColumnReferenceKey, ResultSetMappingSqlSelection>
private final String

Constructor Summary

AccessConstructor and Description
public
DomainResultCreationStateImpl(String stateIdentifier, JdbcValuesMetadata jdbcResultsMetadata, Map<String, Map<String, DynamicFetchBuilderLegacy>> legacyFetchBuilders, Consumer<SqlSelection> sqlSelectionConsumer, LoadQueryInfluencers loadQueryInfluencers, SessionFactoryImplementor sessionFactory)

Deprecated as a consequence of SessionFactoryImplementor being deprecated.

Method Summary

Modifier and TypeMethod and Description
public boolean
private Consumer<Fetchable>
public void
public boolean
forceIdentifierSelection()

Overrides default org.hibernate.sql.results.graph.DomainResultCreationState.forceIdentifierSelection.

Whether forcing the selection of the identifier is in effect for this creation
public SqlAstCreationContext
public Function<String, FetchBuilder>
public ForeignKeyDescriptor.Nature
getCurrentlyResolvingForeignKeyPart()

Implements org.hibernate.sql.results.graph.DomainResultCreationState.getCurrentlyResolvingForeignKeyPart.

Returns the part of the foreign key that is currently being resolved, or null if no foreign key is currently being resolved.
public DomainResultCreationStateImpl
public Map.Entry<String, NavigablePath>
public FromClauseAccessImpl
public JdbcValuesMetadata
public LegacyFetchResolver
public LoadQueryInfluencers
public int
public SqlAstProcessingState
public Map<String, LockMode>
private String
getRelativePath(String oldEntry, Fetchable fetchable)

public SessionFactoryImplementor
getSessionFactory()

Deprecated as a consequence of SessionFactoryImplementor being deprecated.
public SqlAliasBaseGenerator
public SqlAliasBaseManager
public DomainResultCreationStateImpl
public DomainResultCreationStateImpl
public boolean
isAssociationKeyVisited(AssociationKey associationKey)

Overrides default org.hibernate.sql.results.graph.DomainResultCreationState.isAssociationKeyVisited.

Checks whether the given circularityKey is registered
public boolean
public Function<String, FetchBuilder>
public void
public void
public boolean
public ModelPart
resolveModelPart(NavigablePath navigablePath)

Implements org.hibernate.sql.results.graph.DomainResultCreationState.resolveModelPart.

Resolve the ModelPart associated with a given NavigablePath.
public Expression
public SqlSelection
resolveSqlSelection(Expression expression, JavaType<?> javaType, FetchParent fetchParent, TypeConfiguration typeConfiguration)

Implements org.hibernate.sql.ast.spi.SqlExpressionResolver.resolveSqlSelection.

Resolve the SqlSelection for the given expression
public void
public void
public ImmutableFetchList
visitFetches(FetchParent fetchParent)

Implements org.hibernate.sql.results.graph.DomainResultCreationState.visitFetches.

Visit fetches for the given parent.
public Fetch
public ImmutableFetchList
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

allowPositionalSelectionsback to summary
private boolean allowPositionalSelections
currentlyResolvingForeignKeySideback to summary
private ForeignKeyDescriptor.Nature currentlyResolvingForeignKeySide
DISCRIMINATOR_ALIASback to summary
private static final String DISCRIMINATOR_ALIAS
fetchBuilderResolverStackback to summary
private final Stack<Function<T, R>> fetchBuilderResolverStack
fromClauseAccessback to summary
private final FromClauseAccessImpl fromClauseAccess
jdbcResultsMetadataback to summary
private final JdbcValuesMetadata jdbcResultsMetadata
legacyFetchResolverback to summary
private final DomainResultCreationStateImpl.LegacyFetchResolverImpl legacyFetchResolver
loadQueryInfluencersback to summary
private final LoadQueryInfluencers loadQueryInfluencers
nestingFetchParentback to summary
private FetchParent nestingFetchParent
processingKeyFetchesback to summary
private boolean processingKeyFetches
registeredLockModesback to summary
private Map<String, LockMode> registeredLockModes
relativePathStackback to summary
private final Stack<Map.Entry<K, V>> relativePathStack
resolvingCircularFetchback to summary
private boolean resolvingCircularFetch
sessionFactoryback to summary
private final SessionFactoryImplementor sessionFactory

Deprecated

as a consequence of SessionFactoryImplementor being deprecated. See corresponding docs for further information.

sqlAliasBaseManagerback to summary
private final SqlAliasBaseManager sqlAliasBaseManager
sqlSelectionConsumerback to summary
private final Consumer<SqlSelection> sqlSelectionConsumer
sqlSelectionMapback to summary
private final Map<SqlExpressionResolver.ColumnReferenceKey, ResultSetMappingSqlSelection> sqlSelectionMap
stateIdentifierback to summary
private final String stateIdentifier

Constructor Detail

DomainResultCreationStateImplback to summary
public DomainResultCreationStateImpl(String stateIdentifier, JdbcValuesMetadata jdbcResultsMetadata, Map<String, Map<String, DynamicFetchBuilderLegacy>> legacyFetchBuilders, Consumer<SqlSelection> sqlSelectionConsumer, LoadQueryInfluencers loadQueryInfluencers, SessionFactoryImplementor sessionFactory)

Deprecated

as a consequence of SessionFactoryImplementor being deprecated. See corresponding docs for further information.

Method Detail

arePositionalSelectionsAllowedback to summary
public boolean arePositionalSelectionsAllowed()
createFetchableConsumerback to summary
private Consumer<Fetchable> createFetchableConsumer(FetchParent fetchParent, ImmutableFetchList.Builder fetches)
disallowPositionalSelectionsback to summary
public void disallowPositionalSelections()
forceIdentifierSelectionback to summary
public boolean forceIdentifierSelection()

Overrides default org.hibernate.sql.results.graph.DomainResultCreationState.forceIdentifierSelection.

Doc from org.hibernate.sql.results.graph.DomainResultCreationState.forceIdentifierSelection.

Whether forcing the selection of the identifier is in effect for this creation

Annotations
@Override
getCreationContextback to summary
public SqlAstCreationContext getCreationContext()

Implements org.hibernate.sql.ast.spi.SqlAstCreationState.getCreationContext.

getCurrentExplicitFetchMementoResolverback to summary
public Function<String, FetchBuilder> getCurrentExplicitFetchMementoResolver()
getCurrentlyResolvingForeignKeyPartback to summary
public ForeignKeyDescriptor.Nature getCurrentlyResolvingForeignKeyPart()

Implements org.hibernate.sql.results.graph.DomainResultCreationState.getCurrentlyResolvingForeignKeyPart.

Doc from org.hibernate.sql.results.graph.DomainResultCreationState.getCurrentlyResolvingForeignKeyPart.

Returns the part of the foreign key that is currently being resolved, or null if no foreign key is currently being resolved.

Annotations
@Override
getCurrentProcessingStateback to summary
public DomainResultCreationStateImpl getCurrentProcessingState()

Implements org.hibernate.sql.ast.spi.SqlAstCreationState.getCurrentProcessingState.

Annotations
@Override
getCurrentRelativePathback to summary
public Map.Entry<String, NavigablePath> getCurrentRelativePath()
getFromClauseAccessback to summary
public FromClauseAccessImpl getFromClauseAccess()

Implements org.hibernate.sql.ast.spi.SqlAstCreationState.getFromClauseAccess.

Annotations
@Override
getJdbcResultsMetadataback to summary
public JdbcValuesMetadata getJdbcResultsMetadata()
getLegacyFetchResolverback to summary
public LegacyFetchResolver getLegacyFetchResolver()
getLoadQueryInfluencersback to summary
public LoadQueryInfluencers getLoadQueryInfluencers()

Implements org.hibernate.sql.ast.spi.SqlAstCreationState.getLoadQueryInfluencers.

Annotations
@Override
getNumberOfProcessedSelectionsback to summary
public int getNumberOfProcessedSelections()
getParentStateback to summary
public SqlAstProcessingState getParentState()

Implements org.hibernate.sql.ast.spi.SqlAstProcessingState.getParentState.

Annotations
@Override
getRegisteredLockModesback to summary
public Map<String, LockMode> getRegisteredLockModes()
getRelativePathback to summary
private String getRelativePath(String oldEntry, Fetchable fetchable)
getSessionFactoryback to summary
public SessionFactoryImplementor getSessionFactory()

Deprecated

as a consequence of SessionFactoryImplementor being deprecated. See corresponding docs for further information.

getSqlAliasBaseGeneratorback to summary
public SqlAliasBaseGenerator getSqlAliasBaseGenerator()

Implements org.hibernate.sql.ast.spi.SqlAstCreationState.getSqlAliasBaseGenerator.

Annotations
@Override
getSqlAliasBaseManagerback to summary
public SqlAliasBaseManager getSqlAliasBaseManager()

Overrides default org.hibernate.sql.results.graph.DomainResultCreationState.getSqlAliasBaseManager.

Doc from org.hibernate.sql.results.graph.DomainResultCreationState.getSqlAliasBaseManager.

Access to the SQL alias helper

Annotations
@Override
getSqlAstCreationStateback to summary
public DomainResultCreationStateImpl getSqlAstCreationState()

Implements org.hibernate.sql.results.graph.DomainResultCreationState.getSqlAstCreationState, org.hibernate.sql.ast.spi.SqlAstProcessingState.getSqlAstCreationState.

Doc from org.hibernate.sql.results.graph.DomainResultCreationState.getSqlAstCreationState.

The underlying state for SQL AST creation

Annotations
@Override
getSqlExpressionResolverback to summary
public DomainResultCreationStateImpl getSqlExpressionResolver()

Implements org.hibernate.sql.ast.spi.SqlAstCreationState.getSqlExpressionResolver, org.hibernate.sql.ast.spi.SqlAstProcessingState.getSqlExpressionResolver.

Annotations
@Override
isAssociationKeyVisitedback to summary
public boolean isAssociationKeyVisited(AssociationKey associationKey)

Overrides default org.hibernate.sql.results.graph.DomainResultCreationState.isAssociationKeyVisited.

Doc from org.hibernate.sql.results.graph.DomainResultCreationState.isAssociationKeyVisited.

Checks whether the given circularityKey is registered

Annotations
@Override
isResolvingCircularFetchback to summary
public boolean isResolvingCircularFetch()

Implements org.hibernate.sql.results.graph.DomainResultCreationState.isResolvingCircularFetch.

Annotations
@Override
popExplicitFetchMementoResolverback to summary
public Function<String, FetchBuilder> popExplicitFetchMementoResolver()
pushExplicitFetchMementoResolverback to summary
public void pushExplicitFetchMementoResolver(Function<String, FetchBuilder> resolver)
registerLockModeback to summary
public void registerLockMode(String identificationVariable, LockMode explicitLockMode)

Implements org.hibernate.sql.ast.spi.SqlAstCreationState.registerLockMode.

Annotations
@Override
registerVisitedAssociationKeyback to summary
public boolean registerVisitedAssociationKey(AssociationKey associationKey)

Overrides default org.hibernate.sql.results.graph.DomainResultCreationState.registerVisitedAssociationKey.

Doc from org.hibernate.sql.results.graph.DomainResultCreationState.registerVisitedAssociationKey.

Registers a circularity detection key

Annotations
@Override
resolveModelPartback to summary
public ModelPart resolveModelPart(NavigablePath navigablePath)

Implements org.hibernate.sql.results.graph.DomainResultCreationState.resolveModelPart.

Doc from org.hibernate.sql.results.graph.DomainResultCreationState.resolveModelPart.

Resolve the ModelPart associated with a given NavigablePath. More specific ModelParts should be preferred - e.g. the SingularAssociationAttributeMapping rather than just the EntityTypeMapping for the associated type

Annotations
@Override
resolveSqlExpressionback to summary
public Expression resolveSqlExpression(SqlExpressionResolver.ColumnReferenceKey key, Function<SqlAstProcessingState, Expression> creator)

Implements org.hibernate.sql.ast.spi.SqlExpressionResolver.resolveSqlExpression.

Doc from org.hibernate.sql.ast.spi.SqlExpressionResolver.resolveSqlExpression.

Given a qualifier + a qualifiable org.hibernate.metamodel.mapping.SqlExpressible, resolve the (Sql)Expression reference.

Annotations
@Override
resolveSqlSelectionback to summary
public SqlSelection resolveSqlSelection(Expression expression, JavaType<?> javaType, FetchParent fetchParent, TypeConfiguration typeConfiguration)

Implements org.hibernate.sql.ast.spi.SqlExpressionResolver.resolveSqlSelection.

Doc from org.hibernate.sql.ast.spi.SqlExpressionResolver.resolveSqlSelection.

Resolve the SqlSelection for the given expression

Annotations
@Override
setCurrentlyResolvingForeignKeyPartback to summary
public void setCurrentlyResolvingForeignKeyPart(ForeignKeyDescriptor.Nature currentlyResolvingForeignKeySide)

Implements org.hibernate.sql.results.graph.DomainResultCreationState.setCurrentlyResolvingForeignKeyPart.

Annotations
@Override
setResolvingCircularFetchback to summary
public void setResolvingCircularFetch(boolean resolvingCircularFetch)

Implements org.hibernate.sql.results.graph.DomainResultCreationState.setResolvingCircularFetch.

Annotations
@Override
visitFetchesback to summary
public ImmutableFetchList visitFetches(FetchParent fetchParent)

Implements org.hibernate.sql.results.graph.DomainResultCreationState.visitFetches.

Doc from org.hibernate.sql.results.graph.DomainResultCreationState.visitFetches.

Visit fetches for the given parent. We walk fetches via the SqlAstCreationContext because each "context" will define differently what should be fetched (HQL versus load)

Annotations
@Override
visitIdentifierFetchback to summary
public Fetch visitIdentifierFetch(EntityResultGraphNode fetchParent)

Overrides default org.hibernate.sql.results.graph.DomainResultCreationState.visitIdentifierFetch.

Annotations
@Override
visitNestedFetchesback to summary
public ImmutableFetchList visitNestedFetches(FetchParent fetchParent)

Implements org.hibernate.sql.results.graph.DomainResultCreationState.visitNestedFetches.

Annotations
@Override
withExplicitFetchMementoResolverback to summary
public void withExplicitFetchMementoResolver(Function<String, FetchBuilder> resolver, Runnable runnable)
Annotations
@SuppressWarnings:unused
org.hibernate.query.results back to summary

private Class DomainResultCreationStateImpl.LegacyFetchResolverImpl

extends Object
implements LegacyFetchResolver
Class Inheritance
  • java.lang.Object
  • org.hibernate.query.results.DomainResultCreationStateImpl.LegacyFetchResolverImpl
All Implemented Interfaces
org.hibernate.query.results.dynamic.LegacyFetchResolver

Field Summary

Modifier and TypeField and Description
private final Map<String, Map<String, DynamicFetchBuilderLegacy>>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public DynamicFetchBuilderLegacy
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

legacyFetchBuildersback to summary
private final Map<String, Map<String, DynamicFetchBuilderLegacy>> legacyFetchBuilders

Constructor Detail

LegacyFetchResolverImplback to summary
public LegacyFetchResolverImpl(Map<String, Map<String, DynamicFetchBuilderLegacy>> legacyFetchBuilders)

Method Detail

resolveback to summary
public DynamicFetchBuilderLegacy resolve(String ownerTableAlias, String fetchedPartPath)

Implements org.hibernate.query.results.dynamic.LegacyFetchResolver.resolve.

Annotations
@Override