Play Framework 事务管理 Bug
Play framework 1.2.7
在一个请求中, 调用本类的修改数据方法, 事务正常提交、回滚。但是在调用其它类的修改方法时,其它类的事务会自动提交,且不能在发起调用类中进行回滚。求大神指教!!!
class A { public static void method1() { // method3(); // 调用B类的修改方法 B.method2(); // 执行回滚 JPA.setRollbackOnly(); // 结果 method3 中回滚成功, B.method2 中无法回滚 } public static void method3() { } } class B { public static void method2() { // 被调用 } }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我刚刚测试了下是都可以回滚的,不过我是启动服务器测试的。
你可以试下在method1中的开头加上
EntityTransaction tx = JPA.em().getTransaction();
回滚改成tx.setRollbackOnly();
结尾加上
tx.commit();
试试
顺便问下setRollbackOnly和rollBack啥区别啊?