Class HibernateTransactionManager

java.lang.Object
io.micronaut.transaction.support.AbstractPropagatedStatusTransactionOperations<DefaultTransactionStatus<org.hibernate.Session>, org.hibernate.Session>
io.micronaut.transaction.support.AbstractTransactionOperations<DefaultTransactionStatus<org.hibernate.Session>, org.hibernate.Session>
io.micronaut.transaction.support.AbstractDefaultTransactionOperations<org.hibernate.Session>
io.micronaut.transaction.hibernate.HibernateTransactionManager
All Implemented Interfaces:
SynchronousTransactionManager<org.hibernate.Session>, TransactionManager, TransactionOperations<org.hibernate.Session>

@EachBean(DataSource.class) @Replaces(DataSourceTransactionManager.class) @Requires(condition=io.micronaut.transaction.hibernate.HibernateTransactionManagerCondition.class) public final class HibernateTransactionManager extends AbstractDefaultTransactionOperations<org.hibernate.Session>
The transaction manager for Hibernate ORM. It is registered for each DataSource that has a Hibernate session factory and replaces the plain JDBC DataSourceTransactionManager for it.

Each transaction runs on a Hibernate Session: the manager begins, commits or rolls back the session's Hibernate transaction, applies the isolation level, timeout and read-only flag of the TransactionDefinition (a read-only transaction also switches the session to manual flushing and read-only entities), and implements NESTED propagation with JDBC savepoints.

Partially based on https://github.com/spring-projects/spring-framework/blob/main/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateTransactionManager.java

Since:
4.0.0
Author:
Denis Stepanov