Class ReactiveTableBasedInsertHandler
- java.lang.Object
-
- org.hibernate.query.sqm.mutation.internal.temptable.TableBasedInsertHandler
-
- org.hibernate.reactive.query.sqm.mutation.internal.temptable.ReactiveTableBasedInsertHandler
-
- All Implemented Interfaces:
org.hibernate.query.sqm.mutation.internal.Handler
,org.hibernate.query.sqm.mutation.internal.InsertHandler
,ReactiveHandler
public class ReactiveTableBasedInsertHandler extends org.hibernate.query.sqm.mutation.internal.temptable.TableBasedInsertHandler implements ReactiveHandler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ReactiveTableBasedInsertHandler.ReactiveExecutionDelegate
-
Constructor Summary
Constructors Constructor Description ReactiveTableBasedInsertHandler(org.hibernate.query.sqm.tree.insert.SqmInsertStatement<?> sqmInsert, org.hibernate.query.sqm.internal.DomainParameterXref domainParameterXref, org.hibernate.dialect.temptable.TemporaryTable entityTable, 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 org.hibernate.query.sqm.mutation.internal.temptable.TableBasedInsertHandler.ExecutionDelegate
buildExecutionDelegate(org.hibernate.query.sqm.tree.insert.SqmInsertStatement<?> sqmInsert, org.hibernate.query.sqm.mutation.internal.MultiTableSqmMutationConverter sqmConverter, org.hibernate.dialect.temptable.TemporaryTable entityTable, 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 insertingTableGroup, 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.insert.InsertSelectStatement insertStatement, java.util.Map<org.hibernate.query.sqm.tree.expression.SqmParameter<?>,java.util.List<java.util.List<org.hibernate.sql.ast.tree.expression.JdbcParameter>>> parameterResolutions, org.hibernate.sql.ast.tree.expression.JdbcParameter sessionUidParameter, java.util.Map<org.hibernate.query.sqm.tree.expression.SqmParameter<?>,org.hibernate.metamodel.mapping.MappingModelExpressible<?>> paramTypeResolutions, 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 ReactiveTableBasedInsertHandler.ReactiveExecutionDelegate
resolveDelegate(org.hibernate.query.spi.DomainQueryExecutionContext executionContext)
-
-
-
Constructor Detail
-
ReactiveTableBasedInsertHandler
public ReactiveTableBasedInsertHandler(org.hibernate.query.sqm.tree.insert.SqmInsertStatement<?> sqmInsert, org.hibernate.query.sqm.internal.DomainParameterXref domainParameterXref, org.hibernate.dialect.temptable.TemporaryTable entityTable, 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
-
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 ReactiveTableBasedInsertHandler.ReactiveExecutionDelegate resolveDelegate(org.hibernate.query.spi.DomainQueryExecutionContext executionContext)
- Overrides:
resolveDelegate
in classorg.hibernate.query.sqm.mutation.internal.temptable.TableBasedInsertHandler
-
buildExecutionDelegate
protected org.hibernate.query.sqm.mutation.internal.temptable.TableBasedInsertHandler.ExecutionDelegate buildExecutionDelegate(org.hibernate.query.sqm.tree.insert.SqmInsertStatement<?> sqmInsert, org.hibernate.query.sqm.mutation.internal.MultiTableSqmMutationConverter sqmConverter, org.hibernate.dialect.temptable.TemporaryTable entityTable, 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 insertingTableGroup, 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.insert.InsertSelectStatement insertStatement, java.util.Map<org.hibernate.query.sqm.tree.expression.SqmParameter<?>,java.util.List<java.util.List<org.hibernate.sql.ast.tree.expression.JdbcParameter>>> parameterResolutions, org.hibernate.sql.ast.tree.expression.JdbcParameter sessionUidParameter, 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.TableBasedInsertHandler
-
-