JTA会话中的多个Hibernate事务

时间:2015-06-10 12:33:10

标签: java hibernate transactions wildfly jta

我想在单个EJB方法调用中运行多个Hibernate事务(在WildFly中运行)。目前我的 current_session_context_class 设置为 jta transaction.factory_class org.hibernate.transaction.JTATransactionFactory

现在,例如,以下代码失败:

public void myMethod(){
   try{
      Transaction tr = myHibernateSessionFactory.getCurrentSession().beginTransaction();
      //execute some DB operation
      tr.commit();

      tr = myHibernateSessionFactory.getCurrentSession().beginTransaction();
      //execute some DB operation
      tr.commit();

   }catch(Exception e){
      e.printStackTrace();
   }
}

问题是第二次调用 beginTransaction()会抛出异常 org.hibernate.TransactionException:事务实例不再有效。

如何为当前会话获取新交易?

0 个答案:

没有答案