Spring事务嵌套--七大场景

  1. 场景一:外部方法无事务注解,内部方法添加REQUIRED事务传播类型时,内部方法抛异常,内部方法执行失败,不会影响外部方法的执行,外部方法执行成功。
  2. 场景二:外部方法添加REQUIRED事务传播类型,内部方法无事务注解,内部方法抛异常,会影响外部方法的执行,导致外部方法的事务回滚。
  3. 场景三:外部方法添加REQUIRED事务传播类型,内部方法REQUIRED事务传播类型,内部抛异常,会影响外部方法执行,事务会回滚。
  4. 场景四:外部方法添加REQUIRED事务传播类型,内部方法添加NOT_SUPPORTED事务传播类型,内部抛异常时,内部方法执行成功,事务会提交,外部方法执行失败,事务会回滚。
  5. 场景五:外部方法添加REQUIRED事务传播类型,内部方法添加REQUIRES_NEW事务传播类型,内部抛异常,内部外部都会执行失败,事务回滚。
  6. 场景六:外部方法添加REQUIRED事务传播类型,内部方法添加REQUIRES_NEW事务传播类型,并且把异常代码移动到外部方法的末尾,内部方法抛异常时,外部方法执行失败,事务回滚;内部执行成功,事务提交。
  7. 场景七:外部方法添加REQUIRED事务传播类型,内部方法添加REQUIRES_NEW事务传播类型,并且把异常代码移动到外部方法的末尾,同时外部方法和内部方法在同一类中,内部方法抛出异常,外部方法和内部方法都会执行失败,事务回滚。

猜你喜欢

转载自blog.csdn.net/weixin_50160384/article/details/132743396