Play Framework 事务管理 Bug? 400 报错
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() {
// 被调用
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
我刚刚测试了下是都可以回滚的,不过我是启动服务器测试的。
你可以试下在method1中的开头加上
EntityTransaction tx = JPA.em().getTransaction();
回滚改成tx.setRollbackOnly();
结尾加上
tx.commit();
试试
顺便问下setRollbackOnly和rollBack啥区别啊?