事务的传播级别

Spring中定义了7种事务传播机制

1、PROPAGATION_REQUIRED:默认的Spring事务传播级别,若当前事务存在,则加入该事务,若不存在事务,则新建一个事务。

2、PAOPAGATION_REQUIRE_NEW:若当前事务存在,则新建一个事务,新老事务相互独立。若当前没有事务,则新建一个事务。外部事务抛出异常回滚不会影响内部事务的正常提交。

3、PROPAGATION_NESTED:若当前存在事务,则嵌套在当前事务中执行。若当前没有事务,则新建一个事务,类似于REQUIRE_NEW。

4、PROPAGATION_SUPPORTS:支持当前事务,若当前不存在事务,以非事务的方式执行。

5、PROPAGATION_NOT_SUPPORTED:以非事务的方式执行,若当前存在事务,则把当前事务挂起。

6、PROPAGATION_MANDATORY:强制事务执行,若当前不存在事务,则抛出异常。

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

总结:Spring事务传播级别一般不需要定义,默认就是PROPAGATION_REQUIRED,除非在嵌套事务的情况下需要重点了解。

你可能感兴趣的:(MySQL,Spring,Java,Spring,MySQL)