spring事务的传播行为
1.propagation_manatory:强制使用当前事务,如果当前没有事务,就会抛出一个异常;
2.propagation_nested:如果当前存在事务,则在该事务内嵌套执行(嵌套执行时属于该事务的子事务,当外层事务提交时,子事务跟着提交;子事务提交或回滚不会影响外层事务),如果当前不存在事务则新建一个事务;
3.propagation_never:以非事务执行,如果当前存在事务则抛出异常;
4.propagation_required:如果当前存在事务,则加入该事务(和该事务一起提交回滚),如果当前不存在,则新建一个事务;该设置是最常用的设置,也是spring的默认设置;
5.propagation_requires_new:无论当前有没有事务,都新建一个事务;
6.propagation_supports:支持当前事务,如果当前不存在事务,就以非事务方式执行(非事务方式:每条sql语句各自执行,互不影响);
7.propagation_not_supported:以非事务方式执行,如果当前存在事务,就将该事务挂起;