Hibernate Transaction Management Example

An exchange just speaks to a unit of work. In such case, if one stage falls flat, the entire exchange comes up short (which is termed as atomicity). An exchange can be portrayed by ACID properties (Atomicity, Consistency, Isolation and Durability).

Exchange Interface in Hibernate

In sleep structure, we have Transaction interface that characterizes the unit of work. It keeps up deliberation from the exchange execution (JTA,JDBC). An exchange is connected with Session and instantiated by calling session.beginTransaction().

The methods of Transaction interface are as follows:

  1. void begin() starts a new transaction.
  2. void commit() ends the unit of work unless we are in FlushMode.NEVER.
  3. void rollback() forces this transaction to rollback.
  4. void setTimeout(int seconds) it sets a transaction timeout for any transaction started by a subsequent call to begin on this instance.
  5. boolean isAlive() checks if the transaction is still alive.
  6. void registerSynchronization(Synchronization s) registers a user synchronization callback for this transaction.
  7. boolean wasCommited() checks if the transaction is commited successfully.
  8. boolean wasRolledBack() checks if the transaction is rolledback successfully.

Sample Example of Transaction Management in Hibernate

In sleep, it is ideal to rollback the exchange if any special case happens, so assets can be free. We should see the case of exchange administration in rest.

		
Session session = null;
Transaction tx = null;

try {
session = sessionFactory.openSession();
tx = session.beginTransaction();
//some action

tx.commit();

}catch (Exception ex) {
ex.printStackTrace();
tx.rollback();
}
finally {session.close();
}