Class HibernateTransactionManager
java.lang.Object
io.micronaut.transaction.support.AbstractPropagatedStatusTransactionOperations<T,C>
 
io.micronaut.transaction.support.AbstractTransactionOperations<DefaultTransactionStatus<C>,C>
 
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(javax.sql.DataSource.class)
@Replaces(DataSourceTransactionManager.class)
@Requires(condition=io.micronaut.transaction.hibernate.HibernateTransactionManagerCondition.class)
public final class HibernateTransactionManager
extends AbstractDefaultTransactionOperations<org.hibernate.Session>
The Hibernate transaction manager.
 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
- 
Field SummaryFields inherited from class io.micronaut.transaction.support.AbstractTransactionOperationsconnectionOperations, logger, synchronousConnectionManager
- 
Method SummaryModifier and TypeMethodDescriptionprotected voiddoBegin(DefaultTransactionStatus<org.hibernate.Session> txStatus) Begin a new transaction with semantics according to the given transaction definition.protected voiddoCommit(DefaultTransactionStatus<org.hibernate.Session> tx) Perform an actual commit of the given transaction.protected voiddoNestedBegin(DefaultTransactionStatus<org.hibernate.Session> status) Alternative of theAbstractTransactionOperations.doBegin(InternalTransaction)intended for a nested transaction.protected voiddoNestedCommit(DefaultTransactionStatus<org.hibernate.Session> status) Alternative of theAbstractTransactionOperations.doCommit(InternalTransaction)intended for a nested transaction.protected voiddoNestedRollback(DefaultTransactionStatus<org.hibernate.Session> status) Alternative of theAbstractTransactionOperations.doRollback(InternalTransaction)intended for a nested transaction.protected voiddoRollback(DefaultTransactionStatus<org.hibernate.Session> tx) Perform an actual rollback of the given transaction.@NonNull org.hibernate.SessionObtains the connection for the current transaction.@io.micronaut.core.annotation.NonNull booleanCheck if the connection exists.Methods inherited from class io.micronaut.transaction.support.AbstractDefaultTransactionOperationscreateExistingTransactionStatus, createNewTransactionStatus, createNoTxTransactionStatusMethods inherited from class io.micronaut.transaction.support.AbstractTransactionOperationscommit, determineTimeout, doExecute, doResume, doSuspend, getConnectionDefinition, getTransaction, rollback, suspendMethods inherited from class io.micronaut.transaction.support.AbstractPropagatedStatusTransactionOperationsexecute, extendCurrentPropagatedContext, findTransactionStatusMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.transaction.TransactionOperationsexecute, executeRead, executeWrite, findTransactionStatus
- 
Method Details- 
doBeginDescription copied from class:AbstractTransactionOperationsBegin a new transaction with semantics according to the given transaction definition. Does not have to care about applying the propagation behavior, as this has already been handled by this abstract manager.This method gets called when the transaction manager has decided to actually start a new transaction. Either there wasn't any transaction before, or the previous transaction has been suspended. - Specified by:
- doBeginin class- AbstractTransactionOperations<DefaultTransactionStatus<org.hibernate.Session>,- org.hibernate.Session> 
- Parameters:
- txStatus- The transaction
 
- 
doCommitDescription copied from class:AbstractTransactionOperationsPerform an actual commit of the given transaction.An implementation does not need to check the "new transaction" flag or the rollback-only flag; this will already have been handled before. Usually, a straight commit will be performed on the transaction object contained in the passed-in status. - Specified by:
- doCommitin class- AbstractTransactionOperations<DefaultTransactionStatus<org.hibernate.Session>,- org.hibernate.Session> 
- Parameters:
- tx- The transaction
 
- 
doRollbackDescription copied from class:AbstractTransactionOperationsPerform an actual rollback of the given transaction.An implementation does not need to check the "new transaction" flag; this will already have been handled before. Usually, a straight rollback will be performed on the transaction object contained in the passed-in status. - Specified by:
- doRollbackin class- AbstractTransactionOperations<DefaultTransactionStatus<org.hibernate.Session>,- org.hibernate.Session> 
- Parameters:
- tx- The transaction
 
- 
doNestedBeginDescription copied from class:AbstractTransactionOperationsAlternative of theAbstractTransactionOperations.doBegin(InternalTransaction)intended for a nested transaction.- Overrides:
- doNestedBeginin class- AbstractTransactionOperations<DefaultTransactionStatus<org.hibernate.Session>,- org.hibernate.Session> 
- Parameters:
- status- The transaction
 
- 
doNestedCommitDescription copied from class:AbstractTransactionOperationsAlternative of theAbstractTransactionOperations.doCommit(InternalTransaction)intended for a nested transaction.- Overrides:
- doNestedCommitin class- AbstractTransactionOperations<DefaultTransactionStatus<org.hibernate.Session>,- org.hibernate.Session> 
- Parameters:
- status- The transaction
 
- 
doNestedRollbackDescription copied from class:AbstractTransactionOperationsAlternative of theAbstractTransactionOperations.doRollback(InternalTransaction)intended for a nested transaction.- Overrides:
- doNestedRollbackin class- AbstractTransactionOperations<DefaultTransactionStatus<org.hibernate.Session>,- org.hibernate.Session> 
- Parameters:
- status- The transaction
 
- 
getConnection@NonNull public @NonNull org.hibernate.Session getConnection()Description copied from interface:TransactionOperationsObtains the connection for the current transaction.- Returns:
- The connection
 
- 
hasConnection@NonNull public @io.micronaut.core.annotation.NonNull boolean hasConnection()Description copied from interface:TransactionOperationsCheck if the connection exists.- Specified by:
- hasConnectionin interface- TransactionOperations<org.hibernate.Session>
- Overrides:
- hasConnectionin class- AbstractTransactionOperations<DefaultTransactionStatus<org.hibernate.Session>,- org.hibernate.Session> 
- Returns:
- True if transaction exists
 
 
-