Пример дескриптора спящего режима
В Hibernate управление транзакциями довольно стандартное, просто помните, что любые исключения, создаваемые Hibernate, - этоFATAL, вам необходимо откатить транзакцию и немедленно закрыть текущий сеанс.
Вот шаблон транзакции Hibernate:
Session session = null;
Transaction tx = null;
try{
session = HibernateUtil.getSessionFactory().openSession();
tx = session.beginTransaction();
tx.setTimeout(5);
//doSomething(session);
tx.commit();
}catch(RuntimeException e){
try{
tx.rollback();
}catch(RuntimeException rbe){
log.error("Couldn’t roll back transaction", rbe);
}
throw e;
}finally{
if(session!=null){
session.close();
}
}