org.hibernate
Interface Transaction
- CMTTransaction, JDBCTransaction, JTATransaction
public interface Transaction
Allows the application to define units of work, while
maintaining abstraction from the underlying transaction
implementation (eg. JTA, JDBC).
A transaction is associated with a Session and is
usually instantiated by a call to Session.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 particular
Session at any time.
Implementors are not intended to be threadsafe.
void | begin() - Begin a new transaction.
|
void | commit() - Flush the associated Session and end the unit of work (unless
we are in
FlushMode.MANUAL .
|
boolean | isActive() - Is this transaction still active?
Again, this only returns information in relation to the
local transaction, not the actual underlying transaction.
|
void | registerSynchronization(Synchronization synchronization) - Register a user synchronization callback for this transaction.
|
void | rollback() - Force the underlying transaction to roll back.
|
void | setTimeout(int seconds) - Set the transaction timeout for any transaction started by
a subsequent call to begin() on this instance.
|
boolean | wasCommitted() - Check if this transaction was successfully committed.
|
boolean | wasRolledBack() - Was this transaction rolled back or set to rollback only?
This only accounts for actions initiated from this local transaction.
|
commit
public void commit()
throws HibernateException
Flush the associated
Session and end the unit of work (unless
we are in
FlushMode.MANUAL
.
This method will commit the underlying transaction if and only
if the underlying transaction was initiated by this object.
isActive
public boolean isActive()
throws HibernateException
Is this transaction still active?
Again, this only returns information in relation to the
local transaction, not the actual underlying transaction.
- boolean Treu if this local transaction is still active.
registerSynchronization
public void registerSynchronization(Synchronization synchronization)
throws HibernateException
Register a user synchronization callback for this transaction.
synchronization
- The Synchronization callback to register.
rollback
public void rollback()
throws HibernateException
Force the underlying transaction to roll back.
setTimeout
public void setTimeout(int seconds)
Set the transaction timeout for any transaction started by
a subsequent call to begin() on this instance.
seconds
- The number of seconds before a timeout.
wasCommitted
public boolean wasCommitted()
throws HibernateException
Check if this transaction was successfully committed.
This method could return
false even after successful invocation
of
commit()
. As an example, JTA based strategies no-op on
commit()
calls if they did not start the transaction; in that case,
they also report
wasCommitted()
as false.
- boolean True if the transaction was (unequivocally) committed
via this local transaction; false otherwise.
wasRolledBack
public boolean wasRolledBack()
throws HibernateException
Was this transaction rolled back or set to rollback only?
This only accounts for actions initiated from this local transaction.
If, for example, the underlying transaction is forced to rollback via
some other means, this method still reports false because the rollback
was not initiated from here.
- boolean True if the transaction was rolled back via this
local transaction; false otherwise.