spring事务传播属性和隔离

REQUIRES_NEW 和NESTED 的区别


  • REQUIRES_NEW时,内层事务与外层事务就像两个独立的事务一样,一旦内层事务进行了提交后,外层事务不能对其进行回滚。两个事务互不影响。两个事务不是一个真正的嵌套事务
  • NESTED时,外层事务的回滚可以引起内层事务的回滚;而内层事务的异常通过对savepoint的回滚,将外层事务的状态点回滚到初始。它是一个真正的嵌套事务。 例如:

这里写图片描述
如果3个内部事务全部失败,那么外部事务会回滚;只要内部事务有一个成功,同时外部事务的method B调用成功,那么外部事务就成功。


ref: spring事务传播属性和隔离级别

Ref

有演示代码: spring 的事务属性二——事务传播行为
锁:Mysql的排他锁和共享锁

猜你喜欢

转载自blog.csdn.net/byamao1/article/details/81453929