Class TableBasedUpdateHandler
java.lang.Object
org.hibernate.query.sqm.mutation.spi.AbstractMutationHandler
org.hibernate.query.sqm.mutation.internal.temptable.TableBasedUpdateHandler
- All Implemented Interfaces:
Handler
,UpdateHandler
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionTableBasedUpdateHandler
(SqmUpdateStatement<?> sqmUpdate, DomainParameterXref domainParameterXref, TemporaryTable idTable, AfterUseAction afterUseAction, Function<SharedSessionContractImplementor, String> sessionUidAccess, SessionFactoryImplementor sessionFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected UpdateExecutionDelegate
buildExecutionDelegate
(MultiTableSqmMutationConverter sqmConverter, TemporaryTable idTable, AfterUseAction afterUseAction, Function<SharedSessionContractImplementor, String> sessionUidAccess, DomainParameterXref domainParameterXref, TableGroup updatingTableGroup, Map<String, TableReference> tableReferenceByAlias, List<Assignment> assignments, Predicate suppliedPredicate, DomainQueryExecutionContext executionContext) protected void
collectTableReference
(TableReferenceJoin tableReferenceJoin, BiConsumer<String, TableReference> consumer) protected void
collectTableReference
(TableReference tableReference, BiConsumer<String, TableReference> consumer) int
execute
(DomainQueryExecutionContext executionContext) Execute the multi-table update or delete indicated by the SQM AST passed in when this Handler was created.protected SqmUpdateStatement<?>
resolveDelegate
(DomainQueryExecutionContext executionContext) Methods inherited from class org.hibernate.query.sqm.mutation.spi.AbstractMutationHandler
getEntityDescriptor, getSessionFactory
-
Constructor Details
-
TableBasedUpdateHandler
public TableBasedUpdateHandler(SqmUpdateStatement<?> sqmUpdate, DomainParameterXref domainParameterXref, TemporaryTable idTable, AfterUseAction afterUseAction, Function<SharedSessionContractImplementor, String> sessionUidAccess, SessionFactoryImplementor sessionFactory)
-
-
Method Details
-
getSqmUpdate
-
getSqmDeleteOrUpdateStatement
- Overrides:
getSqmDeleteOrUpdateStatement
in classAbstractMutationHandler
-
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. -
resolveDelegate
protected TableBasedUpdateHandler.ExecutionDelegate resolveDelegate(DomainQueryExecutionContext executionContext) -
buildExecutionDelegate
protected UpdateExecutionDelegate buildExecutionDelegate(MultiTableSqmMutationConverter sqmConverter, TemporaryTable idTable, AfterUseAction afterUseAction, Function<SharedSessionContractImplementor, String> sessionUidAccess, DomainParameterXref domainParameterXref, TableGroup updatingTableGroup, Map<String, TableReference> tableReferenceByAlias, List<Assignment> assignments, Predicate suppliedPredicate, DomainQueryExecutionContext executionContext) -
collectTableReference
protected void collectTableReference(TableReference tableReference, BiConsumer<String, TableReference> consumer) -
collectTableReference
protected void collectTableReference(TableReferenceJoin tableReferenceJoin, BiConsumer<String, TableReference> consumer)
-