Interface Transaction
- All Superinterfaces:
EntityTransaction
- All Known Subinterfaces:
TransactionImplementor
Every resource-local transaction is associated with a Session and begins with
an explicit call to SharedSessionContract.beginTransaction(), or, equivalently, with
session.getTransaction().begin(), and ends with a call to EntityTransaction.commit()
or EntityTransaction.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:
-
Method Summary
Modifier and TypeMethodDescriptionGet the current status of this transaction.intRetrieve the transaction timeout set for this instance.default voidAttempt to mark the underlying transaction for rollback only.voidregisterSynchronization(Synchronization synchronization) Register a usersynchronization callbackfor this transaction.voidsetTimeout(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 Details
-
getStatus
TransactionStatus getStatus()Get the current status of this transaction. -
registerSynchronization
Register a usersynchronization callbackfor this transaction.- Parameters:
synchronization- TheSynchronizationcallback 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.
-