Class ReactiveTableBasedUpdateHandler

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  ReactiveTableBasedUpdateHandler.ReactiveExecutionDelegate  
      • Nested classes/interfaces inherited from class org.hibernate.query.sqm.mutation.internal.temptable.TableBasedUpdateHandler

        org.hibernate.query.sqm.mutation.internal.temptable.TableBasedUpdateHandler.ExecutionDelegate
    • 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 ReactiveUpdateExecutionDelegate 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
    • 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 interface org.hibernate.query.sqm.mutation.internal.Handler
        Overrides:
        execute in class org.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 interface ReactiveHandler
        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 class org.hibernate.query.sqm.mutation.internal.temptable.TableBasedUpdateHandler
      • buildExecutionDelegate

        protected ReactiveUpdateExecutionDelegate 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 class org.hibernate.query.sqm.mutation.internal.temptable.TableBasedUpdateHandler