spring在TransactionDefinition接口中定义了七个事务传播行为:
1、 propagation-requierd:如果当前没有事务,就新建一个事务,如果已存在一个事务中,则加入到这个事务中,这个是默认选项。
2、 propagation-supports:如果当前有事务,则支持当前事务,如果当前没有事务,就以非事务方法执行。
3、propagation-mandatory:如果当前有事务,则使用当前的事务,如果没有当前事务,就抛出异常。
4、propagation-required_new:无论当前有没有事务,都要新建事务,如果当前存在事务,把当前事务挂起。
5、propagation-not_supported:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
6、propagation-never:以非事务方式执行操作,如果当前事务存在则抛出异常。
7、propagation-nested:如果当前存在事务,则作为子事务在嵌套事务内执行。如果当前没有事务,则执行与propagation_required类似的操作
原文链接:https://blog.csdn.net/lvyinxiaoqi/article/details/107686575