SPRING中定义了以下几种事务的传播方式:
新建事务
required 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
requires_new 新建事务,如果当前存在事务,把当前事务挂起。
非事务方式运行
supports 支持当前事务,如果当前没有事务,就以非事务方式执行。
not_supported 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
never 以非事务方式执行,如果当前存在事务,则抛出异常。
嵌套事务:
nested 如果当前事务存在,则以嵌套事务的方式执行。否则就按照它自己的事务方式执行。
抛异常
mandatory 支持当前事务,如果当前没有事务,就抛出异常。
never 以非事务方式执行,如果当前存在事务,则抛出异常。