Class MultiTableSqmMutationConverter
- java.lang.Object
-
- org.hibernate.query.sqm.spi.BaseSemanticQueryWalker
-
- org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter<Statement>
-
- org.hibernate.query.sqm.mutation.internal.MultiTableSqmMutationConverter
-
- All Implemented Interfaces:
SemanticQueryWalker<Object>
,JdbcParameterBySqmParameterAccess
,SqmToSqlAstConverter
,SqmTranslator<Statement>
,FromClauseAccess
,SqlAstCreationState
,DomainResultCreationState
,JdbcTypeIndicators
public class MultiTableSqmMutationConverter extends BaseSqmToSqlAstConverter<Statement>
Specialized BaseSqmToSqlAstConverter implementation used during conversion of an SQM mutation query tree representing into the various SQL AST trees needed to perform that operation.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter
BaseSqmToSqlAstConverter.AdditionalInsertValues, BaseSqmToSqlAstConverter.DelegatingSqmAliasedNodeCollector, BaseSqmToSqlAstConverter.SqmAliasedNodeCollector, BaseSqmToSqlAstConverter.SqmAliasedNodePositionTracker
-
-
Field Summary
-
Fields inherited from class org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter
additionalRestrictions
-
Fields inherited from interface org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators
NO_COLUMN_LENGTH, NO_COLUMN_PRECISION, NO_COLUMN_SCALE
-
-
Constructor Summary
Constructors Constructor Description MultiTableSqmMutationConverter(EntityMappingType mutatingEntityDescriptor, SqmStatement<?> statement, SqmRoot<?> sqmRoot, String sourceAlias, DomainParameterXref domainParameterXref, QueryOptions queryOptions, LoadQueryInfluencers loadQueryInfluencers, QueryParameterBindings domainParameterBindings, SqlAstCreationContext creationContext)
MultiTableSqmMutationConverter(EntityMappingType mutatingEntityDescriptor, SqmStatement<?> statement, SqmRoot<?> sqmRoot, DomainParameterXref domainParameterXref, QueryOptions queryOptions, LoadQueryInfluencers loadQueryInfluencers, QueryParameterBindings domainParameterBindings, SqlAstCreationContext creationContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EntityMappingType
getMutatingEntityDescriptor()
TableGroup
getMutatingTableGroup()
Stack<SqlAstProcessingState>
getProcessingStateStack()
void
pruneTableGroupJoins()
Predicate
visitWhereClause(SqmWhereClause whereClause)
-
Methods inherited from class org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter
addVersionedAssignment, applyOnlyLoadByKeyFilters, applyOrdering, consumeExplicitJoin, consumeExplicitJoins, consumeFromClauseCorrelatedRoot, consumeFromClauseRoot, consumeSingleSqmParameter, consumeSqmParameter, consumeSqmParameter, createCorrelatedAggregateSubQuery, createCteColumn, createLateralJoinExpression, createMinOrMaxIndexOrElement, currentSqlSelectionCollector, determineImplicitSelection, determineValueMapping, determineValueMapping, expandSelfRenderingFunctionMultiValueParameter, findTableGroup, findTableGroupOnCurrentFromClause, forEachCteColumn, getCreationContext, getCurrentClauseStack, getCurrentlyProcessingJoinType, getCurrentlyResolvingForeignKeyPart, getCurrentProcessingState, getDialect, getFromClauseAccess, getFromClauseIndex, getInferredValueMapping, getJdbcParamsBySqmParam, getLoadQueryInfluencers, getPreferredSqlTypeCodeForBoolean, getPreferredSqlTypeCodeForDuration, getPreferredSqlTypeCodeForUuid, getQueryOptions, getSqlAliasBaseGenerator, getSqlAstCreationState, getSqlExpressionResolver, getSqmParameterMappingModelExpressibleResolutions, getSqmQueryPartStack, getStatement, getTypeConfiguration, isAssociationKeyVisited, isInTypeInference, isRegisteringVisitedAssociationKeys, isResolvingCircularFetch, popProcessingStateStack, pushProcessingState, pushProcessingState, registerEntityNameUsage, registerLockMode, registerQueryTransformer, registerTableGroup, registerTypeUsage, registerTypeUsage, registerVisitedAssociationKey, removeVisitedAssociationKey, resolveFunctionImpliedReturnType, resolveGroupOrOrderByExpression, resolveMetadata, resolveModelPart, setCurrentlyResolvingForeignKeyPart, setResolvingCircularFetch, supportsEntityNameUsage, translate, visitAny, visitAnyDiscriminatorTypeExpression, visitAnyDiscriminatorTypeValueExpression, visitAnyValuedValuedPath, visitAsWrapperExpression, visitBasicValuedPath, visitBetweenPredicate, visitBinaryArithmeticExpression, visitBooleanExpressionPredicate, visitByUnit, visitCastTarget, visitCoalesce, visitCollation, visitComparisonPredicate, visitConflictClause, visitCorrelation, visitCrossJoin, visitCteContainer, visitCteStatement, visitCycleColumns, visitDeleteStatement, visitDiscriminatorPath, visitDistinct, visitDurationUnit, visitDynamicInstantiation, visitElementAggregateFunction, visitEmbeddableTypeLiteralExpression, visitEmbeddableValuedPath, visitEntityTypeLiteralExpression, visitEntityValuedPath, visitEnumLiteral, visitEvery, visitExistsPredicate, visitExtractUnit, visitFetches, visitFetchExpression, visitFieldLiteral, visitFkExpression, visitFormat, visitFromClause, visitFullyQualifiedClass, visitFunction, visitFunctionPath, visitGroupByClause, visitGroupedPredicate, visitHavingClause, visitHqlNumericLiteral, visitIdentifierFetch, visitIndexAggregateFunction, visitIndexedPluralAccessPath, visitInListPredicate, visitInsertionTargetPaths, visitInsertSelectStatement, visitInsertValuesStatement, visitInSubQueryPredicate, visitIsEmptyPredicate, visitIsNullPredicate, visitIsTruePredicate, visitJpaCriteriaParameter, visitJunctionPredicate, visitLikePredicate, visitLiteral, visitMapEntryFunction, visitMemberOfPredicate, visitModifiedSubQueryExpression, visitNamedParameterExpression, visitNegatedPredicate, visitNestedTopLevelPredicate, visitNonAggregatedCompositeValuedPath, visitOffsetExpression, visitOrderByClause, visitOrderByOffsetAndFetch, visitOver, visitOverflow, visitParameterizedEntityTypeExpression, visitPluralAttributeSizeFunction, visitPluralPartJoin, visitPluralValuedPath, visitPositionalParameterExpression, visitQualifiedAttributeJoin, visitQualifiedCteJoin, visitQualifiedDerivedJoin, visitQualifiedEntityJoin, visitQueryGroup, visitQueryPart, visitQuerySpec, visitRootCte, visitRootDerived, visitRootPath, visitSearchBySpecifications, visitSearchedCaseExpression, visitSelectClause, visitSelection, visitSelection, visitSelectStatement, visitSetClause, visitSimpleCaseExpression, visitSortSpecification, visitStar, visitSubQueryExpression, visitSummarization, visitToDuration, visitTreatedPath, visitTrimSpecification, visitTuple, visitUnaryOperationExpression, visitUpdateStatement, visitValues, visitWithInferredType, withNestedFetchParent
-
Methods inherited from class org.hibernate.query.sqm.spi.BaseSemanticQueryWalker
consumeAttributeJoin, consumeCrossJoin, consumeCteJoin, consumeDerivedJoin, consumeEntityJoin, consumeExplicitJoin, consumeExplicitJoins, consumePluralPartJoin, consumeTreat, visitAssignment, visitJpaCompoundSelection, visitSelectQuery, visitWindow
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.sql.results.graph.DomainResultCreationState
forceIdentifierSelection, getSqlAliasBaseManager, visitDiscriminatorFetch, visitEmbeddableDiscriminatorFetch, visitNestedFetches
-
Methods inherited from interface org.hibernate.sql.ast.spi.FromClauseAccess
findTableGroupForGetOrCreate, getTableGroup, resolveTableGroup
-
Methods inherited from interface org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators
getColumnLength, getColumnPrecision, getColumnScale, getDefaultTimeZoneStorageStrategy, getDefaultZonedTimeSqlType, getDefaultZonedTimestampSqlType, getEnumeratedType, getExplicitJdbcTypeCode, getJdbcType, getPreferredSqlTypeCodeForArray, getPreferredSqlTypeCodeForInstant, getTemporalPrecision, isLob, isNationalized, isPreferJavaTimeJdbcTypesEnabled, isPreferNativeEnumTypesEnabled, resolveJdbcTypeCode
-
Methods inherited from interface org.hibernate.query.sqm.SemanticQueryWalker
visitAssignment, visitBagJoin, visitCorrelatedBagJoin, visitCorrelatedCrossJoin, visitCorrelatedEntityJoin, visitCorrelatedListJoin, visitCorrelatedMapJoin, visitCorrelatedPluralPartJoin, visitCorrelatedRoot, visitCorrelatedRootJoin, visitCorrelatedSetJoin, visitCorrelatedSingularJoin, visitJpaCompoundSelection, visitListJoin, visitMapJoin, visitSetJoin, visitSingularJoin, visitWindow
-
Methods inherited from interface org.hibernate.query.sqm.sql.SqmToSqlAstConverter
getCurrentSqmQueryPart
-
-
-
-
Constructor Detail
-
MultiTableSqmMutationConverter
public MultiTableSqmMutationConverter(EntityMappingType mutatingEntityDescriptor, SqmStatement<?> statement, SqmRoot<?> sqmRoot, DomainParameterXref domainParameterXref, QueryOptions queryOptions, LoadQueryInfluencers loadQueryInfluencers, QueryParameterBindings domainParameterBindings, SqlAstCreationContext creationContext)
-
MultiTableSqmMutationConverter
public MultiTableSqmMutationConverter(EntityMappingType mutatingEntityDescriptor, SqmStatement<?> statement, SqmRoot<?> sqmRoot, String sourceAlias, DomainParameterXref domainParameterXref, QueryOptions queryOptions, LoadQueryInfluencers loadQueryInfluencers, QueryParameterBindings domainParameterBindings, SqlAstCreationContext creationContext)
-
-
Method Detail
-
pruneTableGroupJoins
public void pruneTableGroupJoins()
- Overrides:
pruneTableGroupJoins
in classBaseSqmToSqlAstConverter<Statement>
-
getMutatingEntityDescriptor
public EntityMappingType getMutatingEntityDescriptor()
-
getMutatingTableGroup
public TableGroup getMutatingTableGroup()
-
getProcessingStateStack
public Stack<SqlAstProcessingState> getProcessingStateStack()
- Overrides:
getProcessingStateStack
in classBaseSqmToSqlAstConverter<Statement>
-
visitWhereClause
public Predicate visitWhereClause(SqmWhereClause whereClause)
- Specified by:
visitWhereClause
in interfaceSemanticQueryWalker<Object>
- Overrides:
visitWhereClause
in classBaseSqmToSqlAstConverter<Statement>
-
-