在单个Hibernate会话中使用多个事务

时间:2014-07-16 04:15:34

标签: java mysql hibernate web-applications transactions

我有一个使用MySQL DB和Hibernate的Web应用程序。 我打开了一个Hibernate Session,

开始了一项交易

做一些工作

提交交易

然后再次

开始了一项交易

做一些工作

提交交易

但我结束了以下异常

线程“main”中的异常org.hibernate.TransactionException:事务未成功启动事务未成功启动。

请在这个具体问题中指导我。如何在会话中使用多个事务。

1 个答案:

答案 0 :(得分:1)

我认为您没有开始交易。那是你得到那个例外的时候。您已经打开了一个会话,但在开始交易之前,您正在提交它。在打开会话后尝试开始。

// create session
try {    
    tx = session.beginTransaction();
    // do something
    tx.commit();
} catch (Exception exp) {
    tx.rollback();

}

try {    
    tx = session.beginTransaction();
    // do something
    tx.commit();
} catch (Exception exp) {
    tx.rollback();

}
// close session