Class TransactionUtil
- java.lang.Object
-
- org.hibernate.testing.transaction.TransactionUtil
-
public class TransactionUtil extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceTransactionUtil.HibernateTransactionConsumerHibernate transaction function without return valuestatic interfaceTransactionUtil.HibernateTransactionFunction<T>Hibernate transaction functionstatic interfaceTransactionUtil.JDBCTransactionFunction<T>JDBC transaction functionstatic interfaceTransactionUtil.JDBCTransactionVoidFunctionJDBC transaction function without return valuestatic interfaceTransactionUtil.JPATransactionFunction<T>JPA transaction functionstatic interfaceTransactionUtil.JPATransactionVoidFunctionJPA transaction function without return value
-
Constructor Summary
Constructors Constructor Description TransactionUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static voiddoInAutoCommit(String... statements)Use the default settings for building a newServiceRegistryand create a new JDBCConnectionin auto-commit mode.static voiddoInAutoCommit(Consumer<Statement> consumer)Use the default settings for building a newServiceRegistryand create a new JDBCConnectionin auto-commit mode.static voiddoInAutoCommit(Consumer<Statement> consumer, Map<String,Object> settings)Use the supplied settings for building a newServiceRegistryand create a new JDBCConnectionin auto-commit mode.static voiddoInAutoCommit(Map<String,Object> settings, String... statements)Use the supplied settings for building a newServiceRegistryand create a new JDBCConnectionin auto-commit mode.static voiddoInHibernate(Supplier<org.hibernate.SessionFactory> factorySupplier, String tenant, Consumer<org.hibernate.Session> function)Execute function in a Hibernate transaction without return value and for a given tenantstatic <R> RdoInHibernate(Supplier<org.hibernate.SessionFactory> factorySupplier, String tenant, Function<org.hibernate.Session,R> function)Execute function in a Hibernate transaction for a given tenant and return a valuestatic voiddoInHibernate(Supplier<org.hibernate.SessionFactory> factorySupplier, Consumer<org.hibernate.Session> function)static voiddoInHibernate(Supplier<org.hibernate.SessionFactory> factorySupplier, TransactionUtil.HibernateTransactionConsumer function)Execute function in a Hibernate transaction without return valuestatic <T> TdoInHibernate(Supplier<org.hibernate.SessionFactory> factorySupplier, TransactionUtil.HibernateTransactionFunction<T> function)Execute function in a Hibernate transactionstatic voiddoInHibernateSessionBuilder(Supplier<org.hibernate.SessionBuilder> sessionBuilderSupplier, TransactionUtil.HibernateTransactionConsumer function)Execute function in a Hibernate transaction without return valuestatic <T> TdoInHibernateSessionBuilder(Supplier<org.hibernate.SessionBuilder> sessionBuilderSupplier, TransactionUtil.HibernateTransactionFunction<T> function)Execute function in a Hibernate transactionstatic <T> TdoInJPA(Supplier<EntityManagerFactory> factorySupplier, TransactionUtil.JPATransactionFunction<T> function)Execute function in a JPA transactionstatic <T> TdoInJPA(Supplier<EntityManagerFactory> factorySupplier, TransactionUtil.JPATransactionFunction<T> function, Map properties)Execute function in a JPA transactionstatic voiddoInJPA(Supplier<EntityManagerFactory> factorySupplier, TransactionUtil.JPATransactionVoidFunction function)Execute function in a JPA transaction without return valuestatic voiddoInJPA(Supplier<EntityManagerFactory> factorySupplier, TransactionUtil.JPATransactionVoidFunction function, Map properties)Execute function in a JPA transaction without return valuestatic <T> TdoWithJDBC(org.hibernate.service.ServiceRegistry serviceRegistry, TransactionUtil.JDBCTransactionFunction<T> function)static voiddoWithJDBC(org.hibernate.service.ServiceRegistry serviceRegistry, TransactionUtil.JDBCTransactionVoidFunction function)static voidsetJdbcTimeout(org.hibernate.Session session)Deprecated.UsewithJdbcTimeout(Session, Runnable)insteadstatic voidsetJdbcTimeout(org.hibernate.Session session, long millis)Deprecated.UsewithJdbcTimeout(Session, long, Runnable)insteadstatic voidwithJdbcTimeout(org.hibernate.Session session, long millis, Runnable r)Run the runnable with a session or statement timeoutstatic voidwithJdbcTimeout(org.hibernate.Session session, Runnable r)Run the runnable with a session or statement timeout
-
-
-
Method Detail
-
doInHibernate
public static void doInHibernate(Supplier<org.hibernate.SessionFactory> factorySupplier, Consumer<org.hibernate.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 supplierfunction- functionproperties- 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 supplierfunction- 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 supplierfunction- functionproperties- 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 supplierfunction- function
-
doInHibernate
public static <T> T doInHibernate(Supplier<org.hibernate.SessionFactory> factorySupplier, TransactionUtil.HibernateTransactionFunction<T> function)
Execute function in a Hibernate transaction- Type Parameters:
T- result type- Parameters:
factorySupplier- SessionFactory supplierfunction- function- Returns:
- result
-
doInHibernate
public static void doInHibernate(Supplier<org.hibernate.SessionFactory> factorySupplier, TransactionUtil.HibernateTransactionConsumer function)
Execute function in a Hibernate transaction without return value- Parameters:
factorySupplier- SessionFactory supplierfunction- function
-
doInHibernate
public static void doInHibernate(Supplier<org.hibernate.SessionFactory> factorySupplier, String tenant, Consumer<org.hibernate.Session> function)
Execute function in a Hibernate transaction without return value and for a given tenant- Parameters:
factorySupplier- SessionFactory suppliertenant- tenantfunction- function
-
doInHibernate
public static <R> R doInHibernate(Supplier<org.hibernate.SessionFactory> factorySupplier, String tenant, Function<org.hibernate.Session,R> function)
Execute function in a Hibernate transaction for a given tenant and return a value- Parameters:
factorySupplier- SessionFactory suppliertenant- tenantfunction- function- Returns:
- result
-
doInHibernateSessionBuilder
public static <T> T doInHibernateSessionBuilder(Supplier<org.hibernate.SessionBuilder> sessionBuilderSupplier, TransactionUtil.HibernateTransactionFunction<T> function)
Execute function in a Hibernate transaction- Type Parameters:
T- result type- Parameters:
sessionBuilderSupplier- SessionFactory supplierfunction- function- Returns:
- result
-
doInHibernateSessionBuilder
public static void doInHibernateSessionBuilder(Supplier<org.hibernate.SessionBuilder> sessionBuilderSupplier, TransactionUtil.HibernateTransactionConsumer function)
Execute function in a Hibernate transaction without return value- Parameters:
sessionBuilderSupplier- SessionFactory supplierfunction- function
-
setJdbcTimeout
@Deprecated public static void setJdbcTimeout(org.hibernate.Session session)
Deprecated.UsewithJdbcTimeout(Session, Runnable)insteadSet Session or Statement timeout- Parameters:
session- Hibernate Session
-
setJdbcTimeout
@Deprecated public static void setJdbcTimeout(org.hibernate.Session session, long millis)
Deprecated.UsewithJdbcTimeout(Session, long, Runnable)insteadSet Session or Statement timeout- Parameters:
session- Hibernate Session
-
withJdbcTimeout
public static void withJdbcTimeout(org.hibernate.Session session, Runnable r)Run the runnable with a session or statement timeout- Parameters:
session- Hibernate Session
-
withJdbcTimeout
public static void withJdbcTimeout(org.hibernate.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 newServiceRegistryand create a new JDBCConnectionin auto-commit mode. A new JDBCStatementis created and passed to the supplied callback.- Parameters:
consumer-Statementcallback to execute statements in auto-commit modesettings- Settings to build a newServiceRegistry
-
doInAutoCommit
public static void doInAutoCommit(Consumer<Statement> consumer)
Use the default settings for building a newServiceRegistryand create a new JDBCConnectionin auto-commit mode. A new JDBCStatementis created and passed to the supplied callback.- Parameters:
consumer-Statementcallback 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 newServiceRegistryand create a new JDBCConnectionin auto-commit mode. The supplied statements will be executed using the previously created connection- Parameters:
settings- Settings to build a newServiceRegistrystatements- statements to be executed in auto-commit mode
-
doInAutoCommit
public static void doInAutoCommit(String... statements)
Use the default settings for building a newServiceRegistryand create a new JDBCConnectionin 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(org.hibernate.service.ServiceRegistry serviceRegistry, TransactionUtil.JDBCTransactionVoidFunction function) throws SQLException- Throws:
SQLException
-
doWithJDBC
public static <T> T doWithJDBC(org.hibernate.service.ServiceRegistry serviceRegistry, TransactionUtil.JDBCTransactionFunction<T> function) throws SQLException- Throws:
SQLException
-
-