Hibernate Guice Persist—“坚持”;这方面的工作已经开始。看起来您调用了UnitOfWork.begin()两次,中间没有对end()的平衡调用。”;

Hibernate Guice Persist—“坚持”;这方面的工作已经开始。看起来您调用了UnitOfWork.begin()两次,中间没有对end()的平衡调用。”;,hibernate,guice,guice-servlet,guice-persist,Hibernate,Guice,Guice Servlet,Guice Persist,我们的应用程序是一个javagwt应用程序,它广泛使用guicepersist和guiceservlet。我们在使用Guice Persist的session per HTTPRequest功能时从来没有遇到过问题,这与Warp Persist最初使用的功能类似 我们正在根据文档通过PersistFilter类筛选我们的Web应用程序。根据Guice文档,我们的persistence.xml文件具有事务类型=“RESOURCE\u LOCAL” 现在由于某种奇怪的原因,我们的PROD环境显示了错

我们的应用程序是一个javagwt应用程序,它广泛使用guicepersist和guiceservlet。我们在使用Guice Persist的session per HTTPRequest功能时从来没有遇到过问题,这与Warp Persist最初使用的功能类似

我们正在根据文档通过PersistFilter类筛选我们的Web应用程序。根据Guice文档,我们的persistence.xml文件具有事务类型=“RESOURCE\u LOCAL”

现在由于某种奇怪的原因,我们的PROD环境显示了错误

“此线程上的工作已开始。看起来您调用了UnitOfWork.begin()两次,中间没有对end()的平衡调用。”

似乎存在这样一个问题:Guice Persist中不支持嵌套的工作单元

我们最近也从hibernate 3.6.3.Final迁移到了4.1.4.Final。不确定他是否会与guice有某种不兼容


在这一点上,我们完全不知道为什么会发生这种情况。

当Hibernate隐式打开事务时,我遇到了这种症状,因为我忘了在最外层的逻辑事务括号中添加@transaction注释


若要查明问题,请在数据库层以及begin()和end()中设置断点,以发现持久性(读或写不重要)时的情况在没有现有事务的情况下发生。

当Hibernate隐式打开事务时,我遇到了这种症状,因为我忘了在最外层的逻辑事务大括号中添加@transaction注释


若要查明问题,请在数据库层以及begin()和end()中设置断点,以发现在没有现有事务的情况下发生持久性(读或写不重要)的情况。

这已在Google的Guice网站上报告:


这已在谷歌的Guice网站上报道: