父交易受到影响,而子交易被标记为回滚

时间:2018-11-28 05:52:05

标签: java hibernate spring-transactions

在我的应用程序中,尝试提交事务时,我试图在catch块中吸收运行时异常

但是我得到RollbackException: Transaction marked as rollbackOnly

据我所知,每当抛出运行时异常时,该特定事务就会被标记为回退。

但是在我的代码中,我正在新事务中捕获异常,那么父事务如何受到影响?

代码:

@Transactional(propagation = Propagation.REQUIRED)
Class A{
    void method1() {
        b.method2();
    }
}

class B {
    void method2() {
        c.method3();
    }
}


class C {
    void method4() {
        method5();
    }

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    method5() {
        save();  \\ saving data in this line
        try {
            flush();
        } catch(Exception e ) {

        }
    }

}

在此代码中,method5()中引发了异常,并且该方法处于新事务下。那么父交易(在A类中)如何受到影响?

如果您可以提供有用的解决方案

0 个答案:

没有答案
相关问题