Class TransactionUtil

java.lang.Object
org.hibernate.testing.transaction.TransactionUtil

public class TransactionUtil extends Object
  • Constructor Details

    • TransactionUtil

      public TransactionUtil()
  • Method Details

    • doInHibernate

      public static void doInHibernate(Supplier<SessionFactory> factorySupplier, Consumer<Session> function)
    • doInJPA

      public static <T> T doInJPA(Supplier<EntityManagerFactory> factorySupplier, TransactionUtil.JPATransactionFunction<T> function, Map properties)
      Execute function in a JPA transaction
      Type Parameters:
      T - result type
      Parameters:
      factorySupplier - EntityManagerFactory supplier
      function - function
      properties - properties for entity manager bootstrapping
      Returns:
      result
    • doInJPA

      public static <T> T doInJPA(Supplier<EntityManagerFactory> factorySupplier, TransactionUtil.JPATransactionFunction<T> function)
      Execute function in a JPA transaction
      Type Parameters:
      T - result type
      Parameters:
      factorySupplier - EntityManagerFactory supplier
      function - function
      Returns:
      result
    • doInJPA

      public static void doInJPA(Supplier<EntityManagerFactory> factorySupplier, TransactionUtil.JPATransactionVoidFunction function, Map properties)
      Execute function in a JPA transaction without return value
      Parameters:
      factorySupplier - EntityManagerFactory supplier
      function - function
      properties - properties for entity manager bootstrapping
    • doInJPA

      public static void doInJPA(Supplier<EntityManagerFactory> factorySupplier, TransactionUtil.JPATransactionVoidFunction function)
      Execute function in a JPA transaction without return value
      Parameters:
      factorySupplier - EntityManagerFactory supplier
      function - function
    • doInHibernate

      public static <T> T doInHibernate(Supplier<SessionFactory> factorySupplier, TransactionUtil.HibernateTransactionFunction<T> function)
      Execute function in a Hibernate transaction
      Type Parameters:
      T - result type
      Parameters:
      factorySupplier - SessionFactory supplier
      function - function
      Returns:
      result
    • doInHibernate

      public static void doInHibernate(Supplier<SessionFactory> factorySupplier, TransactionUtil.HibernateTransactionConsumer function)
      Execute function in a Hibernate transaction without return value
      Parameters:
      factorySupplier - SessionFactory supplier
      function - function
    • doInHibernate

      public static void doInHibernate(Supplier<SessionFactory> factorySupplier, String tenant, Consumer<Session> function)
      Execute function in a Hibernate transaction without return value and for a given tenant
      Parameters:
      factorySupplier - SessionFactory supplier
      tenant - tenant
      function - function
    • doInHibernate

      public static <R> R doInHibernate(Supplier<SessionFactory> factorySupplier, String tenant, Function<Session,R> function)
      Execute function in a Hibernate transaction for a given tenant and return a value
      Parameters:
      factorySupplier - SessionFactory supplier
      tenant - tenant
      function - function
      Returns:
      result
    • doInHibernateSessionBuilder

      public static <T> T doInHibernateSessionBuilder(Supplier<SessionBuilder> sessionBuilderSupplier, TransactionUtil.HibernateTransactionFunction<T> function)
      Execute function in a Hibernate transaction
      Type Parameters:
      T - result type
      Parameters:
      sessionBuilderSupplier - SessionFactory supplier
      function - function
      Returns:
      result
    • doInHibernateSessionBuilder

      public static void doInHibernateSessionBuilder(Supplier<SessionBuilder> sessionBuilderSupplier, TransactionUtil.HibernateTransactionConsumer function)
      Execute function in a Hibernate transaction without return value
      Parameters:
      sessionBuilderSupplier - SessionFactory supplier
      function - function
    • setJdbcTimeout

      @Deprecated public static void setJdbcTimeout(Session session)
      Deprecated.
      Set Session or Statement timeout
      Parameters:
      session - Hibernate Session
    • setJdbcTimeout

      @Deprecated public static void setJdbcTimeout(Session session, long millis)
      Set Session or Statement timeout
      Parameters:
      session - Hibernate Session
    • withJdbcTimeout

      public static void withJdbcTimeout(Session session, Runnable r)
      Run the runnable with a session or statement timeout
      Parameters:
      session - Hibernate Session
    • withJdbcTimeout

      public static void withJdbcTimeout(Session session, long millis, Runnable r)
      Run the runnable with a session or statement timeout
      Parameters:
      session - Hibernate Session
    • doInAutoCommit

      public static void doInAutoCommit(Consumer<Statement> consumer, Map<String,Object> settings)
      Use the supplied settings for building a new ServiceRegistry and create a new JDBC Connection in auto-commit mode. A new JDBC Statement is created and passed to the supplied callback.
      Parameters:
      consumer - Statement callback to execute statements in auto-commit mode
      settings - Settings to build a new ServiceRegistry
    • doInAutoCommit

      public static void doInAutoCommit(Consumer<Statement> consumer)
      Use the default settings for building a new ServiceRegistry and create a new JDBC Connection in auto-commit mode. A new JDBC Statement is created and passed to the supplied callback.
      Parameters:
      consumer - Statement callback to execute statements in auto-commit mode
    • doInAutoCommit

      public static void doInAutoCommit(Map<String,Object> settings, String... statements)
      Use the supplied settings for building a new ServiceRegistry and create a new JDBC Connection in auto-commit mode. The supplied statements will be executed using the previously created connection
      Parameters:
      settings - Settings to build a new ServiceRegistry
      statements - statements to be executed in auto-commit mode
    • doInAutoCommit

      public static void doInAutoCommit(String... statements)
      Use the default settings for building a new ServiceRegistry and create a new JDBC Connection in auto-commit mode. The supplied statements will be executed using the previously created connection
      Parameters:
      statements - statements to be executed in auto-commit mode
    • doWithJDBC

      public static void doWithJDBC(ServiceRegistry serviceRegistry, TransactionUtil.JDBCTransactionVoidFunction function) throws SQLException
      Throws:
      SQLException
    • doWithJDBC

      public static <T> T doWithJDBC(ServiceRegistry serviceRegistry, TransactionUtil.JDBCTransactionFunction<T> function) throws SQLException
      Throws:
      SQLException