Top Description Inners Fields Constructors Methods
org.hibernate.query.sqm.mutation.internal

public Class MultiTableSqmMutationConverter

extends BaseSqmToSqlAstConverter<Statement>
Class Inheritance
Imports
java.util.List, java.util.function.BiConsumer, .Consumer, .Function, org.hibernate.engine.spi.LoadQueryInfluencers, org.hibernate.internal.util.collections.Stack, org.hibernate.metamodel.mapping.EntityMappingType, .MappingModelExpressible, org.hibernate.persister.entity.EntityPersister, org.hibernate.query.spi.QueryOptions, .QueryParameterBindings, org.hibernate.query.sqm.internal.DomainParameterXref, org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter, org.hibernate.query.sqm.sql.internal.SqlAstProcessingStateImpl, org.hibernate.query.sqm.tree.SqmStatement, org.hibernate.query.sqm.tree.expression.SqmParameter, org.hibernate.query.sqm.tree.from.SqmRoot, org.hibernate.query.sqm.tree.insert.SqmInsertStatement, org.hibernate.query.sqm.tree.predicate.SqmWhereClause, org.hibernate.query.sqm.tree.update.SqmSetClause, org.hibernate.sql.ast.Clause, org.hibernate.sql.ast.spi.SqlAstCreationContext, .SqlAstHelper, .SqlAstProcessingState, .SqlExpressionResolver, org.hibernate.sql.ast.tree.Statement, org.hibernate.sql.ast.tree.expression.ColumnReference, .Expression, .JdbcParameter, org.hibernate.sql.ast.tree.from.TableGroup, org.hibernate.sql.ast.tree.predicate.Predicate, org.hibernate.sql.ast.tree.update.Assignable, .Assignment

Specialized BaseSqmToSqlAstConverter implementation used during conversion of an SQM mutation query tree representing into the various SQL AST trees needed to perform that operation.
Author
Steve Ebersole
See Also
visitSetClause(SqmSetClause, Consumer, SqmParameterResolutionConsumer), visitWhereClause(SqmWhereClause, Consumer, SqmParameterResolutionConsumer)

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static interface

Field Summary

Modifier and TypeField and Description
private Predicate
private final EntityMappingType
private final TableGroup
private MultiTableSqmMutationConverter.SqmParameterResolutionConsumer
Inherited from org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter:
additionalRestrictions

Constructor Summary

AccessConstructor and Description
public
MultiTableSqmMutationConverter(EntityMappingType mutatingEntityDescriptor, SqmStatement<?> statement, SqmRoot<?> sqmRoot, DomainParameterXref domainParameterXref, QueryOptions queryOptions, LoadQueryInfluencers loadQueryInfluencers, QueryParameterBindings domainParameterBindings, SqlAstCreationContext creationContext)

public
MultiTableSqmMutationConverter(EntityMappingType mutatingEntityDescriptor, SqmStatement<?> statement, SqmRoot<?> sqmRoot, String sourceAlias, DomainParameterXref domainParameterXref, QueryOptions queryOptions, LoadQueryInfluencers loadQueryInfluencers, QueryParameterBindings domainParameterBindings, SqlAstCreationContext creationContext)

Method Summary

Modifier and TypeMethod and Description
protected Expression
public EntityMappingType
public TableGroup
public Stack<SqlAstProcessingState>
public void
public void
visitSetClause(SqmSetClause setClause, Consumer<Assignment> assignmentConsumer, MultiTableSqmMutationConverter.SqmParameterResolutionConsumer parameterResolutionConsumer)

Specialized hook to visit the assignments defined by the update SQM.

public List<Assignment>
public Predicate
visitWhereClause(SqmWhereClause sqmWhereClause, Consumer<ColumnReference> restrictionColumnReferenceConsumer, MultiTableSqmMutationConverter.SqmParameterResolutionConsumer parameterResolutionConsumer)

public Predicate
Inherited from org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter:
addVersionedAssignmentapplyCollectionFilterPredicatesconsumeExplicitJoinconsumeExplicitJoinsconsumeFromClauseCorrelatedRootconsumeFromClauseRootconsumeSingleSqmParameterconsumeSqmParametercreateCorrelatedAggregateSubQuerycreateCteColumncreateLateralJoinExpressioncreateMinOrMaxIndexOrElementcurrentSqlSelectionCollectordetermineImplicitSelectiondetermineValueMappingdetermineValueMappingexpandSelfRenderingFunctionMultiValueParameterfindTableGroupfindTableGroupOnCurrentFromClauseforEachCteColumngetCreationContextgetCurrentClauseStackgetCurrentlyResolvingForeignKeyPartgetCurrentProcessingStategetCurrentSqmQueryPartgetDialectgetFromClauseAccessgetFromClauseIndexgetInferredValueMappinggetJdbcParamsBySqmParamgetLoadQueryInfluencersgetPreferredSqlTypeCodeForBooleangetPreferredSqlTypeCodeForDurationgetPreferredSqlTypeCodeForUuidgetQueryOptionsgetSqlAliasBaseGeneratorgetSqlAstCreationStategetSqlExpressionResolvergetSqmParameterMappingModelExpressibleResolutionsgetStatementgetTypeConfigurationisAssociationKeyVisitedisRegisteringVisitedAssociationKeysisResolvingCircularFetchpopProcessingStateStackpushProcessingStatepushProcessingStateregisterEntityNameUsageregisterLockModeregisterQueryTransformerregisterTableGroupregisterTypeUsageregisterTypeUsageregisterVisitedAssociationKeyremoveVisitedAssociationKeyresolveFunctionImpliedReturnTyperesolveGroupOrOrderByExpressionresolveModelPartsetCurrentlyResolvingForeignKeyPartsetResolvingCircularFetchsupportsEntityNameUsagetranslatevisitAnyvisitAnyDiscriminatorTypeExpressionvisitAnyDiscriminatorTypeValueExpressionvisitAnyValuedValuedPathvisitBasicValuedPathvisitBetweenPredicatevisitBinaryArithmeticExpressionvisitBooleanExpressionPredicatevisitByUnitvisitCastTargetvisitCoalescevisitCollationvisitComparisonPredicatevisitCorrelationvisitCrossJoinvisitCteContainervisitCteStatementvisitCycleColumnsvisitDeleteStatementvisitDiscriminatorPathvisitDistinctvisitDurationUnitvisitDynamicInstantiationvisitElementAggregateFunctionvisitEmbeddableValuedPathvisitEntityTypeLiteralExpressionvisitEntityValuedPathvisitEnumLiteralvisitEveryvisitExistsPredicatevisitExtractUnitvisitFetchesvisitFetchExpressionvisitFieldLiteralvisitFkExpressionvisitFormatvisitFromClausevisitFullyQualifiedClassvisitFunctionvisitGroupByClausevisitGroupedPredicatevisitHavingClausevisitHqlNumericLiteralvisitIdentifierFetchvisitIndexAggregateFunctionvisitIndexedPluralAccessPathvisitInListPredicatevisitInsertionTargetPathsvisitInsertSelectStatementvisitInsertValuesStatementvisitInSubQueryPredicatevisitIsEmptyPredicatevisitIsNullPredicatevisitIsTruePredicatevisitJpaCriteriaParametervisitJunctionPredicatevisitLikePredicatevisitLiteralvisitMapEntryFunctionvisitMemberOfPredicatevisitModifiedSubQueryExpressionvisitNamedParameterExpressionvisitNegatedPredicatevisitNestedFetchesvisitNestedTopLevelPredicatevisitNonAggregatedCompositeValuedPathvisitOffsetExpressionvisitOrderByClausevisitOrderByOffsetAndFetchvisitOvervisitOverflowvisitParameterizedEntityTypeExpressionvisitPluralAttributeSizeFunctionvisitPluralPartJoinvisitPluralValuedPathvisitPositionalParameterExpressionvisitQualifiedAttributeJoinvisitQualifiedCteJoinvisitQualifiedDerivedJoinvisitQualifiedEntityJoinvisitQueryGroupvisitQueryPartvisitQuerySpecvisitRootCtevisitRootDerivedvisitRootPathvisitSearchBySpecificationsvisitSearchedCaseExpressionvisitSelectClausevisitSelectionvisitSelectionvisitSelectStatementvisitSimpleCaseExpressionvisitSortSpecificationvisitStarvisitSubQueryExpressionvisitSummarizationvisitToDurationvisitTreatedPathvisitTrimSpecificationvisitTuplevisitUnaryOperationExpressionvisitUpdateStatementvisitValuesvisitWithInferredType

Field Detail

discriminatorPredicateback to summary
private Predicate discriminatorPredicate
mutatingEntityDescriptorback to summary
private final EntityMappingType mutatingEntityDescriptor
mutatingTableGroupback to summary
private final TableGroup mutatingTableGroup
parameterResolutionConsumerback to summary
private MultiTableSqmMutationConverter.SqmParameterResolutionConsumer parameterResolutionConsumer

Constructor Detail

MultiTableSqmMutationConverterback to summary
public MultiTableSqmMutationConverter(EntityMappingType mutatingEntityDescriptor, SqmStatement<?> statement, SqmRoot<?> sqmRoot, DomainParameterXref domainParameterXref, QueryOptions queryOptions, LoadQueryInfluencers loadQueryInfluencers, QueryParameterBindings domainParameterBindings, SqlAstCreationContext creationContext)
MultiTableSqmMutationConverterback to summary
public MultiTableSqmMutationConverter(EntityMappingType mutatingEntityDescriptor, SqmStatement<?> statement, SqmRoot<?> sqmRoot, String sourceAlias, DomainParameterXref domainParameterXref, QueryOptions queryOptions, LoadQueryInfluencers loadQueryInfluencers, QueryParameterBindings domainParameterBindings, SqlAstCreationContext creationContext)

Method Detail

consumeSqmParameterback to summary
protected Expression consumeSqmParameter(SqmParameter<?> sqmParameter, MappingModelExpressible<?> valueMapping, BiConsumer<Integer, JdbcParameter> jdbcParameterConsumer)

Overrides org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.consumeSqmParameter.

Annotations
@Override
getMutatingEntityDescriptorback to summary
public EntityMappingType getMutatingEntityDescriptor()
Annotations
@SuppressWarnings:unused
getMutatingTableGroupback to summary
public TableGroup getMutatingTableGroup()
getProcessingStateStackback to summary
public Stack<SqlAstProcessingState> getProcessingStateStack()

Overrides org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.getProcessingStateStack.

Annotations
@Override
pruneTableGroupJoinsback to summary
public void pruneTableGroupJoins()

Overrides org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.pruneTableGroupJoins.

Annotations
@Override
visitSetClauseback to summary
public void visitSetClause(SqmSetClause setClause, Consumer<Assignment> assignmentConsumer, MultiTableSqmMutationConverter.SqmParameterResolutionConsumer parameterResolutionConsumer)

Specialized hook to visit the assignments defined by the update SQM.

visitSetClauseback to summary
public List<Assignment> visitSetClause(SqmSetClause setClause)

Overrides org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.visitSetClause.

Implements org.hibernate.query.sqm.SemanticQueryWalker.visitSetClause.

visitWhereClauseback to summary
public Predicate visitWhereClause(SqmWhereClause sqmWhereClause, Consumer<ColumnReference> restrictionColumnReferenceConsumer, MultiTableSqmMutationConverter.SqmParameterResolutionConsumer parameterResolutionConsumer)
visitWhereClauseback to summary
public Predicate visitWhereClause(SqmWhereClause whereClause)

Overrides org.hibernate.query.sqm.spi.BaseSemanticQueryWalker.visitWhereClause.

Implements org.hibernate.query.sqm.SemanticQueryWalker.visitWhereClause.

Annotations
@Override
org.hibernate.query.sqm.mutation.internal back to summary

public Interface MultiTableSqmMutationConverter.SqmParameterResolutionConsumer


Method Summary

Modifier and TypeMethod and Description
public void
accept(SqmParameter<?> sqmParam, MappingModelExpressible<?> mappingType, List<JdbcParameter> jdbcParameters)

Method Detail

acceptback to summary
public void accept(SqmParameter<?> sqmParam, MappingModelExpressible<?> mappingType, List<JdbcParameter> jdbcParameters)