嵌套事务,默认事务传播机制测试总结PROPAGATION_REQUIRED

版权声明:本文为博主原创文章,转载请注明出处!!! https://blog.csdn.net/qq_32711309/article/details/84027439

这里应用的是默认事务传播机制而且是基于注解形式的。

1.添加@Transactional注释即可进行事务异常回滚,如果需要try{}catch必须try{}catch后抛出异常否则不会回滚
2.嵌套事务,内部异常,内外都回滚
3.嵌套事务,外部异常,内外都回滚
4.嵌套事务,外部异常try{}catch没有抛出异常,内外都不回滚
5.嵌套事务,外部异常try{}catch抛出异常,内外都回滚
6.嵌套事务,内部异常try{}catch没有抛出异常,内外都不回滚
7.嵌套事务,内部异常try{}catch抛出异常,内外都回滚
 

1、PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。

2、PROPAGATION_SUPPORTS:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就以非事务执行。‘

3、PROPAGATION_MANDATORY:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就抛出异常。

4、PROPAGATION_REQUIRES_NEW:创建新事务,无论当前存不存在事务,都创建新事务。

5、PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

6、PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。

7、PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

猜你喜欢

转载自blog.csdn.net/qq_32711309/article/details/84027439
今日推荐