【发布时间】:2009-01-02 17:29:28
【问题描述】:
我有一个使用 HibernateTransactionManager 进行事务管理的 DAO 实现,并且该应用程序有 2 个会话工厂。我在下面的 transactionManager.commit() 行中遇到异常。 在与不同会话工厂相关的事务管理器中执行休眠操作会导致问题吗?
TransactionStatus status = transactionManager.getTransaction(def);
try{
doHibernateStuff1(); //Does Hibernate stuff with session
//factory related to Tx Manager
doHibernateStuff2(); //Does Hibernate stuff with session
//factory not related to Tx Manager
}
catch(DataAccessException){
transactionManager.rollback(status);
}
transactionManager.commit(status); //Exception happens here.
异常似乎是试图在txManager.commit() 中再次执行doHibernateStuff2(); 中的操作。
如果您想提出解决方法和/或适当的方法,我将不胜感激。
【问题讨论】:
标签: java hibernate spring transactions