Package org.hibernate.query.sqm.sql
Class BaseSqmToSqlAstConverter<T extends Statement>
java.lang.Object
org.hibernate.query.sqm.spi.BaseSemanticQueryWalker
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter<T>
- All Implemented Interfaces:
SemanticQueryWalker<Object>,JdbcParameterBySqmParameterAccess,SqmToSqlAstConverter,SqmTranslator<T>,FromClauseAccess,SqlAstCreationState,DomainResultCreationState,JdbcTypeIndicators
- Direct Known Subclasses:
MultiTableSqmMutationConverter,StandardSqmTranslator,SybaseSqmToSqlAstConverter
public abstract class BaseSqmToSqlAstConverter<T extends Statement>
extends BaseSemanticQueryWalker
implements SqmTranslator<T>, DomainResultCreationState, JdbcTypeIndicators
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classprotected static classstatic interfaceprotected static class -
Field Summary
FieldsFields inherited from interface org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators
NO_COLUMN_LENGTH, NO_COLUMN_PRECISION, NO_COLUMN_SCALE -
Constructor Summary
ConstructorsConstructorDescriptionBaseSqmToSqlAstConverter(SqlAstCreationContext creationContext, SqmStatement<?> statement, QueryOptions queryOptions, LoadQueryInfluencers loadQueryInfluencers, DomainParameterXref domainParameterXref, QueryParameterBindings domainParameterBindings, boolean deduplicateSelectionItems) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddVersionedAssignment(Consumer<Assignment> assignmentConsumer, SqmUpdateStatement<?> sqmStatement) booleanvoidapplyOrdering(TableGroup tableGroup, OrderByFragment orderByFragment) protected TableGroupconsumeExplicitJoin(SqmJoin<?, ?> sqmJoin, TableGroup lhsTableGroup, TableGroup ownerTableGroup, boolean transitive) protected voidconsumeExplicitJoins(SqmFrom<?, ?> sqmFrom, TableGroup lhsTableGroup) protected voidconsumeFromClauseCorrelatedRoot(SqmRoot<?> sqmRoot) protected voidconsumeFromClauseRoot(SqmRoot<?> sqmRoot) protected ExpressionconsumeSingleSqmParameter(SqmParameter<?> sqmParameter) protected ExpressionconsumeSqmParameter(SqmParameter<?> sqmParameter) protected ExpressionconsumeSqmParameter(SqmParameter<?> sqmParameter, MappingModelExpressible<?> valueMapping, BiConsumer<Integer, JdbcParameter> jdbcParameterConsumer) protected ExpressioncreateCorrelatedAggregateSubQuery(AbstractSqmSpecificPluralPartPath<?> pluralPartPath, boolean index, String function) protected CteColumncreateCteColumn(String cteColumn, JdbcMapping jdbcMapping) protected ExpressioncreateLateralJoinExpression(AbstractSqmSpecificPluralPartPath<?> pluralPartPath, boolean index, String functionName) protected ExpressioncreateMinOrMaxIndexOrElement(AbstractSqmSpecificPluralPartPath<?> pluralPartPath, boolean index, String functionName) protected SqmFrom<?, ?> determineImplicitSelection(SqmQuerySpec<?> querySpec) determineValueMapping(SqmExpression<?> sqmExpression) protected MappingModelExpressible<?> determineValueMapping(SqmParameter<?> sqmParameter) expandSelfRenderingFunctionMultiValueParameter(SqmParameter<?> sqmParameter) findTableGroup(NavigablePath navigablePath) Find a TableGroup by the NavigablePath it is registered under, and if not found on the current from clause level, ask the parent.@Nullable TableGroupfindTableGroupByIdentificationVariable(String identificationVariable) findTableGroupOnCurrentFromClause(NavigablePath navigablePath) Find a TableGroup in this from clause without consulting parents by the NavigablePath it is registered under.protected voidforEachCteColumn(CteTable cteTable, SqmCteTableColumn cteColumn, Consumer<CteColumn> consumer) @Nullable SqlAstJoinTypeReturns theSqlAstJoinTypeof the currently processing join if there is one, ornull.Returns the part of the foreign key that is currently being resolved, ornullif no foreign key is currently being resolved.protected MappingModelExpressible<?> Map<SqmParameter<?>, List<List<JdbcParameter>>> The mapping between an SqmParameter and all of its JDBC parametersintWhen mapping a boolean type to the database what is the preferred SQL type code to use?intWhen mapping a duration type to the database what is the preferred SQL type code to use?intWhen mapping an uuid type to the database what is the preferred SQL type code to use?protected Stack<SqlAstProcessingState> The underlying state for SQL AST creationprotected SqmStatement<?> Provides access to theTypeConfigurationfor access to various type system related registries.booleanisAssociationKeyVisited(AssociationKey associationKey) Checks whether the given circularityKey is registeredbooleanReturns whether the state of the translation is currently in type inference mode.booleanIs this state accepting circularity detection keys?booleanprotected voidprotected voidprotected voidpushProcessingState(SqlAstProcessingState processingState) protected voidpushProcessingState(SqlAstProcessingState processingState, FromClauseIndex fromClauseIndex) voidregisterEntityNameUsage(TableGroup tableGroup, EntityNameUse entityNameUse, String treatTargetTypeName) This callback is for handling of filters and is necessary to allow correct treat optimizations.voidregisterLockMode(String identificationVariable, LockMode explicitLockMode) voidregisterQueryTransformer(QueryTransformer transformer) voidregisterTableGroup(NavigablePath navigablePath, TableGroup tableGroup) Register a TableGroup under the given `navigablePath`.protected voidregisterTypeUsage(DiscriminatorSqmPath<?> path) protected voidregisterTypeUsage(TableGroup tableGroup) booleanregisterVisitedAssociationKey(AssociationKey associationKey) Registers a circularity detection keyvoidremoveVisitedAssociationKey(AssociationKey associationKey) Removes the registration of a circularity detection keyReturns the function return type implied from the context within which it is used.protected ExpressionresolveGroupOrOrderByExpression(SqmExpression<?> groupByClauseExpression) <S,M> M resolveMetadata(S source, Function<S, M> producer) Resolve a generic metadata object from the provided source, using the specified producer.resolveModelPart(NavigablePath navigablePath) Resolve the ModelPart associated with a given NavigablePath.voidsetCurrentlyResolvingForeignKeyPart(ForeignKeyDescriptor.Nature currentlyResolvingForeignKeySide) voidsetResolvingCircularFetch(boolean resolvingCircularFetch) booleanvisitAnyDiscriminatorTypeValueExpression(SqmAnyDiscriminatorValue<?> expression) visitAnyValuedValuedPath(SqmAnyValuedSimplePath<?> sqmPath) visitAsWrapperExpression(AsWrapperSqmExpression<?> sqmExpression) visitBasicValuedPath(SqmBasicValuedSimplePath<?> sqmPath) visitBetweenPredicate(SqmBetweenPredicate predicate) visitBinaryArithmeticExpression(SqmBinaryArithmetic<?> expression) visitByUnit(SqmByUnit byUnit) visitCastTarget(SqmCastTarget<?> target) visitCoalesce(SqmCoalesce<?> sqmCoalesce) visitCollation(SqmCollation sqmCollation) visitComparisonPredicate(SqmComparisonPredicate predicate) visitConflictClause(SqmConflictClause<?> sqmConflictClause) visitCorrelation(SqmCorrelation<?, ?> correlation) visitCrossJoin(SqmCrossJoin<?> sqmJoin) visitCteContainer(SqmCteContainer consumer) visitCteStatement(SqmCteStatement<?> sqmCteStatement) visitCycleColumns(CteTable cteTable, List<JpaCteCriteriaAttribute> cycleColumns) visitDeleteStatement(SqmDeleteStatement<?> statement) visitDiscriminatorPath(DiscriminatorSqmPath<?> sqmPath) visitDistinct(SqmDistinct<?> sqmDistinct) visitDurationUnit(SqmDurationUnit<?> unit) visitDynamicInstantiation(SqmDynamicInstantiation<?> sqmDynamicInstantiation) visitEmbeddableTypeLiteralExpression(SqmLiteralEmbeddableType<?> expression) visitEmbeddableValuedPath(SqmEmbeddedValuedSimplePath<?> sqmPath) visitEntityTypeLiteralExpression(SqmLiteralEntityType<?> sqmExpression) visitEntityValuedPath(SqmEntityValuedSimplePath<?> sqmPath) visitEnumLiteral(SqmEnumLiteral<?> sqmEnumLiteral) visitEvery(SqmEvery<?> sqmEvery) visitExistsPredicate(SqmExistsPredicate predicate) visitExtractUnit(SqmExtractUnit<?> unit) visitFetches(FetchParent fetchParent) Visit fetches for the given parent.visitFetchExpression(SqmExpression<?> expression) visitFieldLiteral(SqmFieldLiteral<?> sqmFieldLiteral) visitFkExpression(SqmFkExpression<?> fkExpression) visitFormat(SqmFormat sqmFormat) visitFromClause(SqmFromClause sqmFromClause) visitFullyQualifiedClass(Class<?> namedClass) visitFunction(SqmFunction<?> sqmFunction) visitFunctionPath(SqmFunctionPath<?> functionPath) visitGroupByClause(List<SqmExpression<?>> groupByClauseExpressions) visitGroupedPredicate(SqmGroupedPredicate predicate) visitHavingClause(SqmPredicate sqmPredicate) <N extends Number>
ExpressionvisitHqlNumericLiteral(SqmHqlNumericLiteral<N> numericLiteral) visitIdentifierFetch(EntityResultGraphNode fetchParent) visitInListPredicate(SqmInListPredicate<?> predicate) visitInsertionTargetPaths(BiConsumer<Assignable, List<ColumnReference>> targetColumnReferenceConsumer, SqmInsertStatement<?> sqmStatement, EntityPersister entityDescriptor, TableGroup rootTableGroup) visitInsertSelectStatement(SqmInsertSelectStatement<?> sqmStatement) visitInsertValuesStatement(SqmInsertValuesStatement<?> sqmStatement) visitInSubQueryPredicate(SqmInSubQueryPredicate<?> predicate) visitIsEmptyPredicate(SqmEmptinessPredicate predicate) visitIsNullPredicate(SqmNullnessPredicate predicate) visitIsTruePredicate(SqmTruthnessPredicate predicate) visitJpaCriteriaParameter(JpaCriteriaParameter<?> expression) visitJunctionPredicate(SqmJunctionPredicate predicate) visitLikePredicate(SqmLikePredicate predicate) visitLiteral(SqmLiteral<?> literal) visitMapEntryFunction(SqmMapEntryReference<?, ?> entryRef) visitMemberOfPredicate(SqmMemberOfPredicate predicate) visitNamedExpression(SqmNamedExpression<?> expression) visitNamedParameterExpression(SqmNamedParameter<?> expression) visitNegatedPredicate(SqmNegatedPredicate predicate) visitNestedTopLevelPredicate(SqmPredicate predicate) visitOffsetExpression(SqmExpression<?> expression) visitOrderByClause(SqmOrderByClause orderByClause) protected voidvisitOrderByOffsetAndFetch(SqmQueryPart<?> sqmQueryPart, QueryPart sqlQueryPart) visitOverflow(SqmOverflow<?> sqmOverflow) visitParameterizedEntityTypeExpression(SqmParameterizedEntityType<?> sqmExpression) visitPluralPartJoin(SqmPluralPartJoin<?, ?> sqmJoin) visitPluralValuedPath(SqmPluralValuedSimplePath<?> sqmPath) visitPositionalParameterExpression(SqmPositionalParameter<?> expression) visitQualifiedAttributeJoin(SqmAttributeJoin<?, ?> sqmJoin) visitQualifiedCteJoin(SqmCteJoin<?> sqmJoin) visitQualifiedDerivedJoin(SqmDerivedJoin<?> sqmJoin) visitQualifiedEntityJoin(SqmEntityJoin<?, ?> sqmJoin) visitQualifiedFunctionJoin(SqmFunctionJoin<?> sqmJoin) visitQueryGroup(SqmQueryGroup<?> queryGroup) visitQueryPart(SqmQueryPart<?> queryPart) visitQuerySpec(SqmQuerySpec<?> sqmQuerySpec) visitRootCte(SqmCteRoot<?> sqmRoot) visitRootDerived(SqmDerivedRoot<?> sqmRoot) visitRootFunction(SqmFunctionRoot<?> sqmRoot) visitRootPath(SqmRoot<?> sqmRoot) protected List<SearchClauseSpecification> visitSearchBySpecifications(CteTable cteTable, List<JpaSearchOrder> searchBySpecifications) visitSearchedCaseExpression(SqmCaseSearched<?> expression) visitSelectClause(SqmSelectClause selectClause) visitSelection(SqmSelection<?> sqmSelection) visitSelectStatement(SqmSelectStatement<?> statement) visitSetClause(SqmSetClause setClause) visitSetReturningFunction(SqmSetReturningFunction<?> sqmFunction) visitSimpleCaseExpression(SqmCaseSimple<?, ?> expression) visitSortSpecification(SqmSortSpecification sortSpecification) visitSubQueryExpression(SqmSubQuery<?> sqmSubQuery) visitSummarization(SqmSummarization<?> sqmSummarization) visitToDuration(SqmToDuration<?> toDuration) visitTreatedPath(SqmTreatedPath<?, ?> sqmTreatedPath) visitTrimSpecification(SqmTrimSpecification specification) visitTuple(SqmTuple<?> sqmTuple) visitUnaryOperationExpression(SqmUnaryOperation<?> expression) visitUpdateStatement(SqmUpdateStatement<?> sqmStatement) visitValues(SqmValues sqmValues) visitWhereClause(SqmWhereClause whereClause) visitWithInferredType(SqmVisitableNode node, Supplier<MappingModelExpressible<?>> inferredTypeAccess) Visits the given node with the given inferred type access.<R> RwithNestedFetchParent(FetchParent fetchParent, Function<FetchParent, R> action) Methods inherited from class org.hibernate.query.sqm.spi.BaseSemanticQueryWalker
consumeAttributeJoin, consumeCrossJoin, consumeCteJoin, consumeDerivedJoin, consumeEntityJoin, consumeExplicitJoin, consumeExplicitJoins, consumeFunctionJoin, consumePluralPartJoin, consumeTreat, visitAssignment, visitJpaCompoundSelection, visitSelectQuery, visitWindowMethods 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.DomainResultCreationState
forceIdentifierSelection, getSqlAliasBaseManager, visitDiscriminatorFetch, visitEmbeddableDiscriminatorFetch, visitNestedFetchesMethods inherited from interface org.hibernate.sql.ast.spi.FromClauseAccess
findTableGroupForGetOrCreate, getTableGroup, resolveTableGroupMethods inherited from interface org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators
getColumnLength, getColumnPrecision, getColumnScale, getDefaultTimeZoneStorageStrategy, getDefaultZonedTimeSqlType, getDefaultZonedTimestampSqlType, getEnumeratedType, getExplicitJdbcTypeCode, getJdbcType, getPreferredSqlTypeCodeForArray, getPreferredSqlTypeCodeForArray, getPreferredSqlTypeCodeForInstant, getTemporalPrecision, isLob, isNationalized, isPreferJavaTimeJdbcTypesEnabled, isPreferNativeEnumTypesEnabled, isXmlFormatMapperLegacyFormatEnabled, preferJdbcDatetimeTypes, resolveJdbcTypeCodeMethods inherited from interface org.hibernate.query.sqm.SemanticQueryWalker
visitAssignment, visitBagJoin, visitCorrelatedBagJoin, visitCorrelatedCrossJoin, visitCorrelatedCteJoin, visitCorrelatedDerivedJoin, visitCorrelatedEntityJoin, visitCorrelatedListJoin, visitCorrelatedMapJoin, visitCorrelatedPluralPartJoin, visitCorrelatedRoot, visitCorrelatedRootJoin, visitCorrelatedSetJoin, visitCorrelatedSingularJoin, visitJpaCompoundSelection, visitListJoin, visitMapJoin, visitSetJoin, visitSingularJoin, visitWindowMethods inherited from interface org.hibernate.sql.ast.spi.SqlAstCreationState
getSqmCreationContext, isProcedureOrNativeQueryMethods inherited from interface org.hibernate.query.sqm.sql.SqmToSqlAstConverter
getCurrentSqmQueryPart
-
Field Details
-
additionalRestrictions
-
-
Constructor Details
-
BaseSqmToSqlAstConverter
public BaseSqmToSqlAstConverter(SqlAstCreationContext creationContext, SqmStatement<?> statement, QueryOptions queryOptions, LoadQueryInfluencers loadQueryInfluencers, DomainParameterXref domainParameterXref, QueryParameterBindings domainParameterBindings, boolean deduplicateSelectionItems)
-
-
Method Details
-
getSqmParameterMappingModelExpressibleResolutions
public Map<SqmParameter<?>,MappingModelExpressible<?>> getSqmParameterMappingModelExpressibleResolutions() -
getProcessingStateStack
-
pushProcessingState
-
pushProcessingState
protected void pushProcessingState(SqlAstProcessingState processingState, FromClauseIndex fromClauseIndex) -
popProcessingStateStack
protected void popProcessingStateStack() -
currentSqlSelectionCollector
-
getStatement
-
getDialect
- Specified by:
getDialectin interfaceJdbcTypeIndicators
-
getTypeConfiguration
Description copied from interface:JdbcTypeIndicatorsProvides access to theTypeConfigurationfor access to various type system related registries.- Specified by:
getTypeConfigurationin interfaceJdbcTypeIndicators
-
getPreferredSqlTypeCodeForBoolean
public int getPreferredSqlTypeCodeForBoolean()Description copied from interface:JdbcTypeIndicatorsWhen mapping a boolean type to the database what is the preferred SQL type code to use?Returns a key into the
JdbcTypeRegistry.- Specified by:
getPreferredSqlTypeCodeForBooleanin interfaceJdbcTypeIndicators- See Also:
-
getPreferredSqlTypeCodeForDuration
public int getPreferredSqlTypeCodeForDuration()Description copied from interface:JdbcTypeIndicatorsWhen mapping a duration type to the database what is the preferred SQL type code to use?Returns a key into the
JdbcTypeRegistry.- Specified by:
getPreferredSqlTypeCodeForDurationin interfaceJdbcTypeIndicators- See Also:
-
getPreferredSqlTypeCodeForUuid
public int getPreferredSqlTypeCodeForUuid()Description copied from interface:JdbcTypeIndicatorsWhen mapping an uuid type to the database what is the preferred SQL type code to use?Returns a key into the
JdbcTypeRegistry.- Specified by:
getPreferredSqlTypeCodeForUuidin interfaceJdbcTypeIndicators- See Also:
-
findTableGroupByIdentificationVariable
- Specified by:
findTableGroupByIdentificationVariablein interfaceFromClauseAccess
-
getCreationContext
- Specified by:
getCreationContextin interfaceSqlAstCreationState
-
getCurrentProcessingState
- Specified by:
getCurrentProcessingStatein interfaceSqlAstCreationState
-
getSqlExpressionResolver
- Specified by:
getSqlExpressionResolverin interfaceSqlAstCreationState
-
getSqlAliasBaseGenerator
- Specified by:
getSqlAliasBaseGeneratorin interfaceSqlAstCreationState
-
registerLockMode
- Specified by:
registerLockModein interfaceSqlAstCreationState
-
getQueryOptions
-
getLoadQueryInfluencers
- Specified by:
getLoadQueryInfluencersin interfaceSqlAstCreationState
-
applyOnlyLoadByKeyFilters
public boolean applyOnlyLoadByKeyFilters()- Specified by:
applyOnlyLoadByKeyFiltersin interfaceSqlAstCreationState
-
getFromClauseIndex
-
getFromClauseAccess
- Specified by:
getFromClauseAccessin interfaceSqlAstCreationState
-
getCurrentClauseStack
- Specified by:
getCurrentClauseStackin interfaceSqmToSqlAstConverter
-
getSqmQueryPartStack
- Specified by:
getSqmQueryPartStackin interfaceSqmToSqlAstConverter
-
translate
- Specified by:
translatein interfaceSqmTranslator<T extends Statement>
-
visitUpdateStatement
- Specified by:
visitUpdateStatementin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitUpdateStatementin classBaseSemanticQueryWalker
-
addVersionedAssignment
public void addVersionedAssignment(Consumer<Assignment> assignmentConsumer, SqmUpdateStatement<?> sqmStatement) -
visitSetClause
- Specified by:
visitSetClausein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitSetClausein classBaseSemanticQueryWalker
-
visitDeleteStatement
- Specified by:
visitDeleteStatementin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitDeleteStatementin classBaseSemanticQueryWalker
-
visitInsertSelectStatement
- Specified by:
visitInsertSelectStatementin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitInsertSelectStatementin classBaseSemanticQueryWalker
-
visitInsertValuesStatement
- Specified by:
visitInsertValuesStatementin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitInsertValuesStatementin classBaseSemanticQueryWalker
-
visitConflictClause
- Specified by:
visitConflictClausein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitConflictClausein classBaseSemanticQueryWalker
-
visitInsertionTargetPaths
public BaseSqmToSqlAstConverter.AdditionalInsertValues visitInsertionTargetPaths(BiConsumer<Assignable, List<ColumnReference>> targetColumnReferenceConsumer, SqmInsertStatement<?> sqmStatement, EntityPersister entityDescriptor, TableGroup rootTableGroup) -
visitValues
- Specified by:
visitValuesin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitValuesin classBaseSemanticQueryWalker
-
visitSelectStatement
- Specified by:
visitSelectStatementin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitSelectStatementin classBaseSemanticQueryWalker
-
visitDynamicInstantiation
public DynamicInstantiation<?> visitDynamicInstantiation(SqmDynamicInstantiation<?> sqmDynamicInstantiation) - Specified by:
visitDynamicInstantiationin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitDynamicInstantiationin classBaseSemanticQueryWalker
-
visitCteStatement
- Specified by:
visitCteStatementin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitCteStatementin classBaseSemanticQueryWalker
-
visitSearchBySpecifications
protected List<SearchClauseSpecification> visitSearchBySpecifications(CteTable cteTable, List<JpaSearchOrder> searchBySpecifications) -
createCteColumn
-
forEachCteColumn
protected void forEachCteColumn(CteTable cteTable, SqmCteTableColumn cteColumn, Consumer<CteColumn> consumer) -
visitCycleColumns
protected List<CteColumn> visitCycleColumns(CteTable cteTable, List<JpaCteCriteriaAttribute> cycleColumns) -
visitCteContainer
- Specified by:
visitCteContainerin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitCteContainerin classBaseSemanticQueryWalker
-
visitQueryPart
- Overrides:
visitQueryPartin classBaseSemanticQueryWalker
-
visitQueryGroup
- Specified by:
visitQueryGroupin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitQueryGroupin classBaseSemanticQueryWalker
-
visitQuerySpec
- Specified by:
visitQuerySpecin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitQuerySpecin classBaseSemanticQueryWalker
-
visitOrderByOffsetAndFetch
-
visitSelectClause
- Specified by:
visitSelectClausein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitSelectClausein classBaseSemanticQueryWalker
-
determineImplicitSelection
-
visitSelection
- Specified by:
visitSelectionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitSelectionin classBaseSemanticQueryWalker
-
resolveGroupOrOrderByExpression
-
visitGroupByClause
- Specified by:
visitGroupByClausein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitGroupByClausein classBaseSemanticQueryWalker
-
visitWhereClause
- Specified by:
visitWhereClausein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitWhereClausein classBaseSemanticQueryWalker
-
visitHavingClause
- Specified by:
visitHavingClausein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitHavingClausein classBaseSemanticQueryWalker
-
visitOrderByClause
- Specified by:
visitOrderByClausein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitOrderByClausein classBaseSemanticQueryWalker
-
visitSortSpecification
- Specified by:
visitSortSpecificationin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitSortSpecificationin classBaseSemanticQueryWalker
-
visitOffsetExpression
- Specified by:
visitOffsetExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitOffsetExpressionin classBaseSemanticQueryWalker
-
visitFetchExpression
- Specified by:
visitFetchExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitFetchExpressionin classBaseSemanticQueryWalker
-
visitFromClause
- Specified by:
visitFromClausein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitFromClausein classBaseSemanticQueryWalker
-
consumeFromClauseRoot
- Overrides:
consumeFromClauseRootin classBaseSemanticQueryWalker
-
supportsEntityNameUsage
public boolean supportsEntityNameUsage()- Specified by:
supportsEntityNameUsagein interfaceSqlAstCreationState
-
registerEntityNameUsage
public void registerEntityNameUsage(TableGroup tableGroup, EntityNameUse entityNameUse, String treatTargetTypeName) Description copied from interface:SqlAstCreationStateThis callback is for handling of filters and is necessary to allow correct treat optimizations.- Specified by:
registerEntityNameUsagein interfaceSqlAstCreationState
-
registerTypeUsage
-
registerTypeUsage
-
pruneTableGroupJoins
protected void pruneTableGroupJoins() -
consumeExplicitJoins
-
consumeExplicitJoin
protected TableGroup consumeExplicitJoin(SqmJoin<?, ?> sqmJoin, TableGroup lhsTableGroup, TableGroup ownerTableGroup, boolean transitive) -
getCurrentlyProcessingJoinType
Description copied from interface:SqmToSqlAstConverterReturns theSqlAstJoinTypeof the currently processing join if there is one, ornull. This is used to determine the join type for implicit joins happening in theONclause.- Specified by:
getCurrentlyProcessingJoinTypein interfaceSqmToSqlAstConverter
-
visitRootPath
- Specified by:
visitRootPathin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitRootPathin classBaseSemanticQueryWalker
-
visitRootDerived
- Specified by:
visitRootDerivedin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitRootDerivedin classBaseSemanticQueryWalker
-
visitRootFunction
- Specified by:
visitRootFunctionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitRootFunctionin classBaseSemanticQueryWalker
-
visitRootCte
- Specified by:
visitRootCtein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitRootCtein classBaseSemanticQueryWalker
-
visitQualifiedAttributeJoin
- Specified by:
visitQualifiedAttributeJoinin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitQualifiedAttributeJoinin classBaseSemanticQueryWalker
-
visitQualifiedDerivedJoin
- Specified by:
visitQualifiedDerivedJoinin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitQualifiedDerivedJoinin classBaseSemanticQueryWalker
-
visitQualifiedFunctionJoin
- Specified by:
visitQualifiedFunctionJoinin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitQualifiedFunctionJoinin classBaseSemanticQueryWalker
-
visitQualifiedCteJoin
- Specified by:
visitQualifiedCteJoinin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitQualifiedCteJoinin classBaseSemanticQueryWalker
-
visitCrossJoin
- Specified by:
visitCrossJoinin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitCrossJoinin classBaseSemanticQueryWalker
-
visitPluralPartJoin
- Specified by:
visitPluralPartJoinin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitPluralPartJoinin classBaseSemanticQueryWalker
-
visitQualifiedEntityJoin
- Specified by:
visitQualifiedEntityJoinin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitQualifiedEntityJoinin classBaseSemanticQueryWalker
-
visitBasicValuedPath
- Specified by:
visitBasicValuedPathin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitBasicValuedPathin classBaseSemanticQueryWalker
-
visitEmbeddableValuedPath
- Specified by:
visitEmbeddableValuedPathin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitEmbeddableValuedPathin classBaseSemanticQueryWalker
-
visitAnyValuedValuedPath
- Specified by:
visitAnyValuedValuedPathin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitAnyValuedValuedPathin classBaseSemanticQueryWalker
-
visitNonAggregatedCompositeValuedPath
public Expression visitNonAggregatedCompositeValuedPath(NonAggregatedCompositeSimplePath<?> sqmPath) - Specified by:
visitNonAggregatedCompositeValuedPathin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitNonAggregatedCompositeValuedPathin classBaseSemanticQueryWalker
-
visitEntityValuedPath
- Specified by:
visitEntityValuedPathin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitEntityValuedPathin classBaseSemanticQueryWalker
-
visitAnyDiscriminatorTypeExpression
- Specified by:
visitAnyDiscriminatorTypeExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitAnyDiscriminatorTypeExpressionin classBaseSemanticQueryWalker
-
visitPluralValuedPath
- Specified by:
visitPluralValuedPathin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitPluralValuedPathin classBaseSemanticQueryWalker
-
visitFkExpression
- Specified by:
visitFkExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitFkExpressionin classBaseSemanticQueryWalker
-
visitDiscriminatorPath
- Specified by:
visitDiscriminatorPathin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitDiscriminatorPathin classBaseSemanticQueryWalker
-
createMinOrMaxIndexOrElement
protected Expression createMinOrMaxIndexOrElement(AbstractSqmSpecificPluralPartPath<?> pluralPartPath, boolean index, String functionName) -
visitElementAggregateFunction
- Specified by:
visitElementAggregateFunctionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitElementAggregateFunctionin classBaseSemanticQueryWalker
-
visitIndexAggregateFunction
- Specified by:
visitIndexAggregateFunctionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitIndexAggregateFunctionin classBaseSemanticQueryWalker
-
visitFunctionPath
- Specified by:
visitFunctionPathin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitFunctionPathin classBaseSemanticQueryWalker
-
visitCorrelation
- Specified by:
visitCorrelationin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitCorrelationin classBaseSemanticQueryWalker
-
visitTreatedPath
- Specified by:
visitTreatedPathin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitTreatedPathin classBaseSemanticQueryWalker
-
visitPluralAttributeSizeFunction
- Specified by:
visitPluralAttributeSizeFunctionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitPluralAttributeSizeFunctionin classBaseSemanticQueryWalker
-
visitIndexedPluralAccessPath
- Specified by:
visitIndexedPluralAccessPathin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitIndexedPluralAccessPathin classBaseSemanticQueryWalker
-
visitMapEntryFunction
- Specified by:
visitMapEntryFunctionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitMapEntryFunctionin classBaseSemanticQueryWalker
-
createLateralJoinExpression
protected Expression createLateralJoinExpression(AbstractSqmSpecificPluralPartPath<?> pluralPartPath, boolean index, String functionName) -
isInTypeInference
public boolean isInTypeInference()Description copied from interface:SqmToSqlAstConverterReturns whether the state of the translation is currently in type inference mode. This is useful to avoid type inference based on other incomplete inference information.- Specified by:
isInTypeInferencein interfaceSqmToSqlAstConverter
-
resolveFunctionImpliedReturnType
Description copied from interface:SqmToSqlAstConverterReturns the function return type implied from the context within which it is used. If there is no current function being processed or no context implied type, the return isnull.- Specified by:
resolveFunctionImpliedReturnTypein interfaceSqmToSqlAstConverter
-
visitLiteral
- Specified by:
visitLiteralin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitLiteralin classBaseSemanticQueryWalker
-
visitHqlNumericLiteral
- Specified by:
visitHqlNumericLiteralin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitHqlNumericLiteralin classBaseSemanticQueryWalker
-
getJdbcParamsBySqmParam
Description copied from interface:JdbcParameterBySqmParameterAccessThe mapping between an SqmParameter and all of its JDBC parameters- Specified by:
getJdbcParamsBySqmParamin interfaceJdbcParameterBySqmParameterAccess
-
visitNamedParameterExpression
- Specified by:
visitNamedParameterExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitNamedParameterExpressionin classBaseSemanticQueryWalker
-
consumeSqmParameter
protected Expression consumeSqmParameter(SqmParameter<?> sqmParameter, MappingModelExpressible<?> valueMapping, BiConsumer<Integer, JdbcParameter> jdbcParameterConsumer) -
consumeSqmParameter
-
consumeSingleSqmParameter
-
determineValueMapping
- Specified by:
determineValueMappingin interfaceSqmToSqlAstConverter
-
getInferredValueMapping
-
determineValueMapping
-
visitPositionalParameterExpression
- Specified by:
visitPositionalParameterExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitPositionalParameterExpressionin classBaseSemanticQueryWalker
-
visitJpaCriteriaParameter
- Specified by:
visitJpaCriteriaParameterin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitJpaCriteriaParameterin classBaseSemanticQueryWalker
-
visitTuple
- Specified by:
visitTuplein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitTuplein classBaseSemanticQueryWalker
-
visitCollation
- Specified by:
visitCollationin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitCollationin classBaseSemanticQueryWalker
-
visitFunction
- Specified by:
visitFunctionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitFunctionin classBaseSemanticQueryWalker
-
visitSetReturningFunction
- Specified by:
visitSetReturningFunctionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitSetReturningFunctionin classBaseSemanticQueryWalker
-
registerQueryTransformer
- Specified by:
registerQueryTransformerin interfaceSqmToSqlAstConverter
-
visitStar
- Specified by:
visitStarin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitStarin classBaseSemanticQueryWalker
-
visitOver
- Specified by:
visitOverin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitOverin classBaseSemanticQueryWalker
-
visitDistinct
- Specified by:
visitDistinctin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitDistinctin classBaseSemanticQueryWalker
-
visitOverflow
- Specified by:
visitOverflowin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitOverflowin classBaseSemanticQueryWalker
-
visitTrimSpecification
- Specified by:
visitTrimSpecificationin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitTrimSpecificationin classBaseSemanticQueryWalker
-
visitCastTarget
- Specified by:
visitCastTargetin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitCastTargetin classBaseSemanticQueryWalker
-
visitExtractUnit
- Specified by:
visitExtractUnitin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitExtractUnitin classBaseSemanticQueryWalker
-
visitDurationUnit
- Specified by:
visitDurationUnitin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitDurationUnitin classBaseSemanticQueryWalker
-
visitFormat
- Specified by:
visitFormatin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitFormatin classBaseSemanticQueryWalker
-
visitCoalesce
- Specified by:
visitCoalescein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitCoalescein classBaseSemanticQueryWalker
-
visitUnaryOperationExpression
- Specified by:
visitUnaryOperationExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitUnaryOperationExpressionin classBaseSemanticQueryWalker
-
visitBinaryArithmeticExpression
- Specified by:
visitBinaryArithmeticExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitBinaryArithmeticExpressionin classBaseSemanticQueryWalker
-
visitToDuration
- Specified by:
visitToDurationin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitToDurationin classBaseSemanticQueryWalker
-
visitByUnit
- Specified by:
visitByUnitin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitByUnitin classBaseSemanticQueryWalker
-
visitModifiedSubQueryExpression
- Specified by:
visitModifiedSubQueryExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitModifiedSubQueryExpressionin classBaseSemanticQueryWalker
-
visitSubQueryExpression
- Specified by:
visitSubQueryExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitSubQueryExpressionin classBaseSemanticQueryWalker
-
visitSimpleCaseExpression
- Specified by:
visitSimpleCaseExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitSimpleCaseExpressionin classBaseSemanticQueryWalker
-
visitSearchedCaseExpression
- Specified by:
visitSearchedCaseExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitSearchedCaseExpressionin classBaseSemanticQueryWalker
-
visitWithInferredType
public Object visitWithInferredType(SqmVisitableNode node, Supplier<MappingModelExpressible<?>> inferredTypeAccess) Description copied from interface:SqmToSqlAstConverterVisits the given node with the given inferred type access.- Specified by:
visitWithInferredTypein interfaceSqmToSqlAstConverter
-
visitAny
- Specified by:
visitAnyin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitAnyin classBaseSemanticQueryWalker
-
visitEvery
- Specified by:
visitEveryin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitEveryin classBaseSemanticQueryWalker
-
visitSummarization
- Specified by:
visitSummarizationin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitSummarizationin classBaseSemanticQueryWalker
-
visitEntityTypeLiteralExpression
- Specified by:
visitEntityTypeLiteralExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitEntityTypeLiteralExpressionin classBaseSemanticQueryWalker
-
visitEmbeddableTypeLiteralExpression
- Specified by:
visitEmbeddableTypeLiteralExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitEmbeddableTypeLiteralExpressionin classBaseSemanticQueryWalker
-
visitAnyDiscriminatorTypeValueExpression
- Specified by:
visitAnyDiscriminatorTypeValueExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitAnyDiscriminatorTypeValueExpressionin classBaseSemanticQueryWalker
-
visitParameterizedEntityTypeExpression
public Expression visitParameterizedEntityTypeExpression(SqmParameterizedEntityType<?> sqmExpression) - Specified by:
visitParameterizedEntityTypeExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitParameterizedEntityTypeExpressionin classBaseSemanticQueryWalker
-
visitEnumLiteral
- Specified by:
visitEnumLiteralin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitEnumLiteralin classBaseSemanticQueryWalker
-
visitFieldLiteral
- Specified by:
visitFieldLiteralin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitFieldLiteralin classBaseSemanticQueryWalker
-
visitNestedTopLevelPredicate
- Specified by:
visitNestedTopLevelPredicatein interfaceSqmToSqlAstConverter
-
visitGroupedPredicate
- Specified by:
visitGroupedPredicatein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitGroupedPredicatein classBaseSemanticQueryWalker
-
visitJunctionPredicate
- Specified by:
visitJunctionPredicatein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitJunctionPredicatein classBaseSemanticQueryWalker
-
visitMemberOfPredicate
- Specified by:
visitMemberOfPredicatein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitMemberOfPredicatein classBaseSemanticQueryWalker
-
visitNegatedPredicate
- Specified by:
visitNegatedPredicatein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitNegatedPredicatein classBaseSemanticQueryWalker
-
visitComparisonPredicate
- Specified by:
visitComparisonPredicatein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitComparisonPredicatein classBaseSemanticQueryWalker
-
visitIsEmptyPredicate
- Specified by:
visitIsEmptyPredicatein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitIsEmptyPredicatein classBaseSemanticQueryWalker
-
visitBetweenPredicate
- Specified by:
visitBetweenPredicatein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitBetweenPredicatein classBaseSemanticQueryWalker
-
visitLikePredicate
- Specified by:
visitLikePredicatein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitLikePredicatein classBaseSemanticQueryWalker
-
visitIsNullPredicate
- Specified by:
visitIsNullPredicatein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitIsNullPredicatein classBaseSemanticQueryWalker
-
visitIsTruePredicate
- Specified by:
visitIsTruePredicatein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitIsTruePredicatein classBaseSemanticQueryWalker
-
visitInListPredicate
- Specified by:
visitInListPredicatein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitInListPredicatein classBaseSemanticQueryWalker
-
visitInSubQueryPredicate
- Specified by:
visitInSubQueryPredicatein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitInSubQueryPredicatein classBaseSemanticQueryWalker
-
visitBooleanExpressionPredicate
- Specified by:
visitBooleanExpressionPredicatein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitBooleanExpressionPredicatein classBaseSemanticQueryWalker
-
visitExistsPredicate
- Specified by:
visitExistsPredicatein interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitExistsPredicatein classBaseSemanticQueryWalker
-
getSqlAstCreationState
Description copied from interface:DomainResultCreationStateThe underlying state for SQL AST creation- Specified by:
getSqlAstCreationStatein interfaceDomainResultCreationState
-
visitFullyQualifiedClass
- Specified by:
visitFullyQualifiedClassin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitFullyQualifiedClassin classBaseSemanticQueryWalker
-
visitAsWrapperExpression
- Specified by:
visitAsWrapperExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitAsWrapperExpressionin classBaseSemanticQueryWalker
-
visitNamedExpression
- Specified by:
visitNamedExpressionin interfaceSemanticQueryWalker<T extends Statement>- Overrides:
visitNamedExpressionin classBaseSemanticQueryWalker
-
visitIdentifierFetch
- Specified by:
visitIdentifierFetchin interfaceDomainResultCreationState
-
withNestedFetchParent
- Specified by:
withNestedFetchParentin interfaceDomainResultCreationState
-
visitFetches
Description copied from interface:DomainResultCreationStateVisit fetches for the given parent. We walk fetches via the SqlAstCreationContext because each "context" will define differently what should be fetched (HQL versus load)- Specified by:
visitFetchesin interfaceDomainResultCreationState
-
applyOrdering
- Specified by:
applyOrderingin interfaceSqlAstCreationState
-
resolveMetadata
Description copied from interface:SqmToSqlAstConverterResolve a generic metadata object from the provided source, using the specified producer.- Specified by:
resolveMetadatain interfaceSqmToSqlAstConverter
-
isResolvingCircularFetch
public boolean isResolvingCircularFetch()- Specified by:
isResolvingCircularFetchin interfaceDomainResultCreationState
-
setResolvingCircularFetch
public void setResolvingCircularFetch(boolean resolvingCircularFetch) - Specified by:
setResolvingCircularFetchin interfaceDomainResultCreationState
-
getCurrentlyResolvingForeignKeyPart
Description copied from interface:DomainResultCreationStateReturns the part of the foreign key that is currently being resolved, ornullif no foreign key is currently being resolved.- Specified by:
getCurrentlyResolvingForeignKeyPartin interfaceDomainResultCreationState
-
setCurrentlyResolvingForeignKeyPart
public void setCurrentlyResolvingForeignKeyPart(ForeignKeyDescriptor.Nature currentlyResolvingForeignKeySide) - Specified by:
setCurrentlyResolvingForeignKeyPartin interfaceDomainResultCreationState
-
expandSelfRenderingFunctionMultiValueParameter
public List<Expression> expandSelfRenderingFunctionMultiValueParameter(SqmParameter<?> sqmParameter) - Specified by:
expandSelfRenderingFunctionMultiValueParameterin interfaceSqmToSqlAstConverter
-
registerVisitedAssociationKey
Description copied from interface:DomainResultCreationStateRegisters a circularity detection key- Specified by:
registerVisitedAssociationKeyin interfaceDomainResultCreationState
-
removeVisitedAssociationKey
Description copied from interface:DomainResultCreationStateRemoves the registration of a circularity detection key- Specified by:
removeVisitedAssociationKeyin interfaceDomainResultCreationState
-
isAssociationKeyVisited
Description copied from interface:DomainResultCreationStateChecks whether the given circularityKey is registered- Specified by:
isAssociationKeyVisitedin interfaceDomainResultCreationState
-
isRegisteringVisitedAssociationKeys
public boolean isRegisteringVisitedAssociationKeys()Description copied from interface:DomainResultCreationStateIs this state accepting circularity detection keys?- Specified by:
isRegisteringVisitedAssociationKeysin interfaceDomainResultCreationState
-