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 aSession
and 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 particularSession
at 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 TransactionStatus
getStatus()
Get the current local status of this transaction.int
getTimeout()
Retrieve the transaction timeout set for this transaction.default void
markRollbackOnly()
Make a best effort to mark the underlying transaction for rollback only.void
registerSynchronization(Synchronization synchronization)
Register a user synchronization callback for this transaction.void
setTimeout(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.
-
-