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 UpdateExecutionDelegatebuildExecutionDelegate(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 voidcollectTableReference(TableReferenceJoin tableReferenceJoin, BiConsumer<String, TableReference> consumer) protected voidcollectTableReference(TableReference tableReference, BiConsumer<String, TableReference> consumer) intexecute(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:
getSqmDeleteOrUpdateStatementin classAbstractMutationHandler
-
execute
Description copied from interface:HandlerExecute 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)
-