java 有一个属性为Propagation.REQUIRED的具有事务的方法 调用一个没有事务的方法 没有事务的方法抛出异常 整个方法会回滚吗
时间: 2024-02-07 12:22:26 浏览: 53
java 数据库操作,事务回滚
如果你的 Java 方法使用了 `Propagation.REQUIRED` 的事务传播机制,并且在其中调用了一个没有事务的方法,那么这个没有事务的方法会在一个单独的事务中被执行,而不会被包含在上层事务中。如果这个没有事务的方法抛出了异常,这个异常会被向上抛出并回滚整个事务。
如果你希望在调用没有事务的方法时也能够被包含在上层事务中,可以将传播机制设置为 `Propagation.REQUIRED_NEW`,这样在调用没有事务的方法时会启动一个新的事务,如果这个新的事务抛出异常,它会回滚自己的事务,并且将异常向上抛出给上层事务处理。
阅读全文