Play Framework 事务管理 Bug

泠风 发布于 2016/02/26 15:10
阅读 847
收藏 0

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() {
        // 被调用
    }
}






加载中
0
z
zj49079

我刚刚测试了下是都可以回滚的,不过我是启动服务器测试的。

你可以试下在method1中的开头加上

EntityTransaction tx = JPA.em().getTransaction();

回滚改成tx.setRollbackOnly();

结尾加上

tx.commit();

试试

顺便问下setRollbackOnly和rollBack啥区别啊?

返回顶部
顶部