如果回滚第二个事务(即 method3())会发生什么?第一笔交易会回滚吗?
//无事务方法
method1()
{
try{
method2(); // transactional
method3(); // transactional and fails due to exception
}
catch {
return "error message";
}
最佳答案
不,如果 method3()
失败,method2()
的事务将不会回滚,因为它们是 2 个不同的事务。
注意:即使方法 1 是事务性的,它也不会确保整个操作(方法 2 + 方法 3)的原子性,因为您正在捕获异常。
关于java - 事务和捕获 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33519494/