Class AbstractCteMutationHandler
java.lang.Object
org.hibernate.query.sqm.mutation.spi.AbstractMutationHandler
org.hibernate.query.sqm.mutation.internal.cte.AbstractCteMutationHandler
- All Implemented Interfaces:
Handler
- Direct Known Subclasses:
CteDeleteHandler
,CteUpdateHandler
Defines how identifier values are selected from the updatable/deletable tables.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAbstractCteMutationHandler
(CteTable cteTable, SqmDeleteOrUpdateStatement<?> sqmStatement, DomainParameterXref domainParameterXref, CteMutationStrategy strategy, SessionFactoryImplementor sessionFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
addDmlCtes
(CteContainer statement, CteStatement idSelectCte, MultiTableSqmMutationConverter sqmConverter, Map<SqmParameter<?>, List<JdbcParameter>> parameterResolutions, SessionFactoryImplementor factory) protected Expression
createCountStar
(SessionFactoryImplementor factory, MultiTableSqmMutationConverter sqmConverter) Used by Hibernate Reactiveprotected QuerySpec
createIdSubQuery
(CteStatement idSelectCte, ModelPart fkModelPart, SessionFactoryImplementor factory) protected Predicate
createIdSubQueryPredicate
(List<? extends Expression> lhsExpressions, CteStatement idSelectCte, SessionFactoryImplementor factory) protected Predicate
createIdSubQueryPredicate
(List<? extends Expression> lhsExpressions, CteStatement idSelectCte, ModelPart fkModelPart, SessionFactoryImplementor factory) int
execute
(DomainQueryExecutionContext executionContext) Execute the multi-table update or delete indicated by the SQM AST passed in when this Handler was created.protected abstract String
getCteTableName
(String tableExpression) protected NamedTableReference
resolveUnionTableReference
(TableReference tableReference, String tableExpression) Methods inherited from class org.hibernate.query.sqm.mutation.spi.AbstractMutationHandler
getEntityDescriptor, getSessionFactory, getSqmDeleteOrUpdateStatement
-
Field Details
-
CTE_TABLE_IDENTIFIER
- See Also:
-
-
Constructor Details
-
AbstractCteMutationHandler
public AbstractCteMutationHandler(CteTable cteTable, SqmDeleteOrUpdateStatement<?> sqmStatement, DomainParameterXref domainParameterXref, CteMutationStrategy strategy, SessionFactoryImplementor sessionFactory)
-
-
Method Details
-
getCteTable
-
getDomainParameterXref
-
getStrategy
-
execute
Description copied from interface:Handler
Execute the multi-table update or delete indicated by the SQM AST passed in when this Handler was created.- Parameters:
executionContext
- Contextual information needed for execution- Returns:
- The "number of rows affected" count
-
createCountStar
protected Expression createCountStar(SessionFactoryImplementor factory, MultiTableSqmMutationConverter sqmConverter) Used by Hibernate Reactive -
createIdSubQueryPredicate
protected Predicate createIdSubQueryPredicate(List<? extends Expression> lhsExpressions, CteStatement idSelectCte, SessionFactoryImplementor factory) -
createIdSubQueryPredicate
protected Predicate createIdSubQueryPredicate(List<? extends Expression> lhsExpressions, CteStatement idSelectCte, ModelPart fkModelPart, SessionFactoryImplementor factory) -
createIdSubQuery
protected QuerySpec createIdSubQuery(CteStatement idSelectCte, ModelPart fkModelPart, SessionFactoryImplementor factory) -
addDmlCtes
protected abstract void addDmlCtes(CteContainer statement, CteStatement idSelectCte, MultiTableSqmMutationConverter sqmConverter, Map<SqmParameter<?>, List<JdbcParameter>> parameterResolutions, SessionFactoryImplementor factory) -
resolveUnionTableReference
protected NamedTableReference resolveUnionTableReference(TableReference tableReference, String tableExpression) -
getCteTableName
-