hibernate begintransaction抛出异常

时间:2015-01-08 02:32:21

标签: hibernate transactions

我是休眠的新手。请告诉我下面的代码有什么问题?

f1()
{
   try {
       s = HibernateUtils.getSessionFactory().getCurrentSession();
       tx = s.beginTransaction();
       // do some task
       tx.commit();
   } catch(Exception e) {
       tx.rollback();
       throw e;
   }
}

f2()
{
    try {
       s = HibernateUtils.getSessionFactory().getCurrentSession();
       tx = s.beginTransaction();
       f1();
       tx.commit();
   } catch(Exception e) {
       tx.rollback();
   }
}

f1()中的begin transaction语句抛出异常。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您不能同时激活多个transaction (not session),您的方法已在交易中,您无需创建新方法;删除s.beginTransaction();

OR可以传递相同的transaction,或者创建一个新的。{/ p>

此处的概念是 - getCurrentSession()返回相同的内容,并且您正在调用beginTransaction()两次。