Пример дескриптора спящего режима
В 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(); } }