事务的传播共有7种:
1、PROPAGATION_REQUIRED:支持当前事务,如果不存在就新建一个(默认是这个) ;
2、PROPAGATION_REQUIRES_NEW:开启一个新的事务,如果一个事务已经存在,则将这个存在的事务挂起;
3、PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。
4、PROPAGATION_NOT_SUPPORTED:以非事务方式运行,如果有事务存在,挂起当前事务;
5、PROPAGATION_MANDATORY:必须运行在一个事务中,如果当前没有事务正在发生,将抛出一个异常;
6、PROPAGATION_NEVER:以非事务方式运行,如果有事务存在,抛出异常;
7、PROPAGATION_NESTED:如果当前正有一个事务在进行中,则该方法应当运行在一个嵌套式事务中。被嵌套的事务可以独立于封装事务进行提交或回滚。如果封装事务不存在,行为就像PROPAGATION_REQUIRES一样。