In the Hibernate framework, we have a Transaction interface that defines the unit of work. It maintains abstraction from the transaction implementation (JTA, JDBC).
A transaction is associated with a Session and instantiated by calling session.beginTransaction().
The methods of Transaction interface are as follows:
void begin() - starts a new transaction.
void commit() - ends the unit of work unless we are in FlushMode.NEVER.
void rollback() - forces this transaction to rollback.
void setTimeout(int seconds) - it sets a transaction timeout for any transaction started by a subsequent call to begin on this instance.
boolean isAlive() - checks if the transaction is still alive.
void registerSynchronization(Synchronization s) - registers a user synchronization callback for this transaction.
boolean wasCommited() - checks if the transaction is committed successfully.
boolean wasRolledBack() - checks if the transaction is rolled back successfully.