Package org.hibernate
Interface Transaction
-
- All Superinterfaces:
EntityTransaction
- All Known Subinterfaces:
TransactionImplementor
public interface Transaction extends EntityTransaction
Defines the contract for abstracting applications from the configured underlying means of transaction management. Allows the application to define units of work, while maintaining abstraction from the underlying transaction implementation (eg. JTA, JDBC). A transaction is associated with aSessionand is usually initiated by a call toSharedSessionContract.beginTransaction(). 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 notion of a transaction. However, it is intended that there be at most one uncommitted transaction associated with a particularSessionat any time. Implementers are not intended to be thread-safe.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description TransactionStatusgetStatus()Get the current local status of this transaction.intgetTimeout()Retrieve the transaction timeout set for this transaction.default voidmarkRollbackOnly()Make a best effort to mark the underlying transaction for rollback only.voidregisterSynchronization(Synchronization synchronization)Register a user synchronization callback for this transaction.voidsetTimeout(int seconds)Set the transaction timeout for any transaction started by a subsequent call toEntityTransaction.begin()on this instance.-
Methods inherited from interface javax.persistence.EntityTransaction
begin, commit, getRollbackOnly, isActive, rollback, setRollbackOnly
-
-
-
-
Method Detail
-
getStatus
TransactionStatus getStatus()
Get the current local status of this transaction. This only accounts for the local view of the transaction status. In other words it does not check the status of the actual underlying transaction.- Returns:
- The current local status.
-
registerSynchronization
void registerSynchronization(Synchronization synchronization) throws HibernateException
Register a user synchronization callback for this transaction.- Parameters:
synchronization- The Synchronization 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 a 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 transaction. A negative indicates no timeout has been set.- Returns:
- The timeout, in seconds.
-
markRollbackOnly
default void markRollbackOnly()
Make a best effort to mark the underlying transaction for rollback only.
-
-