Interface Transaction
-
- All Superinterfaces:
EntityTransaction
- All Known Subinterfaces:
TransactionImplementor
- All Known Implementing Classes:
TransactionImpl
public interface Transaction extends EntityTransaction
Represents a resource-local transaction, where resource-local is interpreted by Hibernate to mean any transaction under the control of Hibernate. That is to say, the underlying transaction might be a JTA transaction, or it might be a JDBC transaction, depending on how Hibernate is configured.Every resource-local transaction is associated with a
Session
and begins with an explicit call toSharedSessionContract.beginTransaction()
, or, equivalently, withsession.getTransaction().begin()
, and ends with a call toEntityTransaction.commit()
orEntityTransaction.rollback()
.A single session might span multiple transactions since the notion of a session (a conversation between the application and the datastore) is of coarser granularity than the concept of a database transaction. However, there is at most one uncommitted transaction associated with a given
Session
at any time.Note that this interface is never used to control container managed JTA transactions, and is not usually used to control transactions that affect multiple resources.
A
Transaction
object is not threadsafe.- See Also:
SharedSessionContract.beginTransaction()
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description TransactionStatus
getStatus()
Get the current status of this transaction.int
getTimeout()
Retrieve the transaction timeout set for this instance.default void
markRollbackOnly()
Attempt to mark the underlying transaction for rollback only.void
registerSynchronization(Synchronization synchronization)
Register a usersynchronization callback
for this transaction.void
setTimeout(int seconds)
Set the transaction timeout for any transaction started by any subsequent call toEntityTransaction.begin()
on this instance.-
Methods inherited from interface jakarta.persistence.EntityTransaction
begin, commit, getRollbackOnly, isActive, rollback, setRollbackOnly
-
-
-
-
Method Detail
-
getStatus
TransactionStatus getStatus()
Get the current status of this transaction.
-
registerSynchronization
void registerSynchronization(Synchronization synchronization)
Register a usersynchronization callback
for this transaction.- Parameters:
synchronization
- TheSynchronization
callback to register.- Throws:
HibernateException
- Indicates a problem registering the synchronization.
-
setTimeout
void setTimeout(int seconds)
Set the transaction timeout for any transaction started by any subsequent call toEntityTransaction.begin()
on this instance.- Parameters:
seconds
- The number of seconds before a timeout.
-
getTimeout
int getTimeout()
Retrieve the transaction timeout set for this instance. A negative integer indicates that no timeout has been set.- Returns:
- The timeout, in seconds.
-
markRollbackOnly
default void markRollbackOnly()
Attempt to mark the underlying transaction for rollback only.
-
-