Class ReactiveTableBasedUpdateHandler
- java.lang.Object
-
- org.hibernate.query.sqm.mutation.spi.AbstractMutationHandler
-
- org.hibernate.query.sqm.mutation.internal.temptable.TableBasedUpdateHandler
-
- org.hibernate.reactive.query.sqm.mutation.internal.temptable.ReactiveTableBasedUpdateHandler
-
- All Implemented Interfaces:
org.hibernate.query.sqm.mutation.internal.Handler
,org.hibernate.query.sqm.mutation.internal.UpdateHandler
,ReactiveHandler
,ReactiveAbstractMutationHandler
public class ReactiveTableBasedUpdateHandler extends org.hibernate.query.sqm.mutation.internal.temptable.TableBasedUpdateHandler implements ReactiveAbstractMutationHandler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ReactiveTableBasedUpdateHandler.ReactiveExecutionDelegate
-
Constructor Summary
Constructors Constructor Description ReactiveTableBasedUpdateHandler(org.hibernate.query.sqm.tree.update.SqmUpdateStatement<?> sqmUpdate, org.hibernate.query.sqm.internal.DomainParameterXref domainParameterXref, org.hibernate.dialect.temptable.TemporaryTable idTable, org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction afterUseAction, java.util.function.Function<org.hibernate.engine.spi.SharedSessionContractImplementor,java.lang.String> sessionUidAccess, org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ReactiveUpdateExcutionDelegate
buildExecutionDelegate(org.hibernate.query.sqm.mutation.internal.MultiTableSqmMutationConverter sqmConverter, org.hibernate.dialect.temptable.TemporaryTable idTable, org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction afterUseAction, java.util.function.Function<org.hibernate.engine.spi.SharedSessionContractImplementor,java.lang.String> sessionUidAccess, org.hibernate.query.sqm.internal.DomainParameterXref domainParameterXref, org.hibernate.sql.ast.tree.from.TableGroup updatingTableGroup, java.util.Map<java.lang.String,org.hibernate.sql.ast.tree.from.TableReference> tableReferenceByAlias, java.util.List<org.hibernate.sql.ast.tree.update.Assignment> assignments, org.hibernate.sql.ast.tree.predicate.Predicate suppliedPredicate, java.util.Map<org.hibernate.query.sqm.tree.expression.SqmParameter<?>,java.util.List<java.util.List<org.hibernate.sql.ast.tree.expression.JdbcParameter>>> parameterResolutions, java.util.Map<org.hibernate.query.sqm.tree.expression.SqmParameter<?>,org.hibernate.metamodel.mapping.MappingModelExpressible<?>> paramTypeResolutions, org.hibernate.query.spi.DomainQueryExecutionContext executionContext)
int
execute(org.hibernate.query.spi.DomainQueryExecutionContext executionContext)
java.util.concurrent.CompletionStage<java.lang.Integer>
reactiveExecute(org.hibernate.query.spi.DomainQueryExecutionContext executionContext)
Execute the multi-table update or delete indicated by the SQM AST passed in when this Handler was created.protected ReactiveTableBasedUpdateHandler.ReactiveExecutionDelegate
resolveDelegate(org.hibernate.query.spi.DomainQueryExecutionContext executionContext)
-
Methods inherited from class org.hibernate.query.sqm.mutation.internal.temptable.TableBasedUpdateHandler
collectTableReference, collectTableReference, getSqmDeleteOrUpdateStatement, getSqmUpdate
-
Methods inherited from class org.hibernate.query.sqm.mutation.spi.AbstractMutationHandler
getEntityDescriptor, getSessionFactory
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.reactive.query.sqm.mutation.spi.ReactiveAbstractMutationHandler
getEntityDescriptor, getSessionFactory, getSqmDeleteOrUpdateStatement
-
-
-
-
Constructor Detail
-
ReactiveTableBasedUpdateHandler
public ReactiveTableBasedUpdateHandler(org.hibernate.query.sqm.tree.update.SqmUpdateStatement<?> sqmUpdate, org.hibernate.query.sqm.internal.DomainParameterXref domainParameterXref, org.hibernate.dialect.temptable.TemporaryTable idTable, org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction afterUseAction, java.util.function.Function<org.hibernate.engine.spi.SharedSessionContractImplementor,java.lang.String> sessionUidAccess, org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory)
-
-
Method Detail
-
execute
public int execute(org.hibernate.query.spi.DomainQueryExecutionContext executionContext)
- Specified by:
execute
in interfaceorg.hibernate.query.sqm.mutation.internal.Handler
- Overrides:
execute
in classorg.hibernate.query.sqm.mutation.internal.temptable.TableBasedUpdateHandler
-
reactiveExecute
public java.util.concurrent.CompletionStage<java.lang.Integer> reactiveExecute(org.hibernate.query.spi.DomainQueryExecutionContext executionContext)
Description copied from interface:ReactiveHandler
Execute the multi-table update or delete indicated by the SQM AST passed in when this Handler was created.- Specified by:
reactiveExecute
in interfaceReactiveHandler
- Parameters:
executionContext
- Contextual information needed for execution- Returns:
- The "number of rows affected" count
-
resolveDelegate
protected ReactiveTableBasedUpdateHandler.ReactiveExecutionDelegate resolveDelegate(org.hibernate.query.spi.DomainQueryExecutionContext executionContext)
- Overrides:
resolveDelegate
in classorg.hibernate.query.sqm.mutation.internal.temptable.TableBasedUpdateHandler
-
buildExecutionDelegate
protected ReactiveUpdateExcutionDelegate buildExecutionDelegate(org.hibernate.query.sqm.mutation.internal.MultiTableSqmMutationConverter sqmConverter, org.hibernate.dialect.temptable.TemporaryTable idTable, org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction afterUseAction, java.util.function.Function<org.hibernate.engine.spi.SharedSessionContractImplementor,java.lang.String> sessionUidAccess, org.hibernate.query.sqm.internal.DomainParameterXref domainParameterXref, org.hibernate.sql.ast.tree.from.TableGroup updatingTableGroup, java.util.Map<java.lang.String,org.hibernate.sql.ast.tree.from.TableReference> tableReferenceByAlias, java.util.List<org.hibernate.sql.ast.tree.update.Assignment> assignments, org.hibernate.sql.ast.tree.predicate.Predicate suppliedPredicate, java.util.Map<org.hibernate.query.sqm.tree.expression.SqmParameter<?>,java.util.List<java.util.List<org.hibernate.sql.ast.tree.expression.JdbcParameter>>> parameterResolutions, java.util.Map<org.hibernate.query.sqm.tree.expression.SqmParameter<?>,org.hibernate.metamodel.mapping.MappingModelExpressible<?>> paramTypeResolutions, org.hibernate.query.spi.DomainQueryExecutionContext executionContext)
- Overrides:
buildExecutionDelegate
in classorg.hibernate.query.sqm.mutation.internal.temptable.TableBasedUpdateHandler
-
-