Hibernateトランザクションハンドルの例
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(); } }