Interface Transaction
-
- All Superinterfaces:
EntityTransaction
- All Known Subinterfaces:
TransactionImplementor
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
Sessionand 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
Sessionat 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
Transactionobject is not threadsafe.- See Also:
SharedSessionContract.beginTransaction()
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description TransactionStatusgetStatus()Get the current status of this transaction.intgetTimeout()Retrieve the transaction timeout set for this instance.default voidmarkRollbackOnly()Attempt 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 Detail
-
getStatus
TransactionStatus getStatus()
Get the current status of this transaction.
-
registerSynchronization
void registerSynchronization(Synchronization synchronization)
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.
-
-