这是我必须维护的应用程序中遇到的问题:
我有一个带注释的第一个类@Transactional(rollbackFor = CustomExceptionA.class)
然后在下面的代码中我调用@Transactional的方法(noRollbackFor = CustomExceptionB.class)
注意:CustomExceptionA或CustomExceptionB只有一个共同的祖先,即Exception.
当然,当我执行代码时会引发异常,它既不是CustomExceptionA类型也不是CustomExceptionB类型,也不是它们的子类.
所以问题很简单:
在这种情况下,交易会发生什么?它承诺了吗?它会回滚吗?它是否保持未完成状态等待应用程序执行某些操作(这实际上是一个可以解释此应用程序中看到的一些丑陋内容的答案)?而且:为什么?
谢谢你的帮助和时间.