这部分理解的比较少,在牛客网上看到的几个事务,先记下来:
PROPAGATION_REQUIRED(propagation_required)
如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。
PROPAGATION_SUPPORTS(propagation_supports)
支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY(propagation_mandatory)
使用当前的事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW(propagation_requires_new)
新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED(propagation_not_supported)
以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER(propagation_never)
以非事务方式执行,如果当前存在事务,则抛出异常。
PROPAGATION_NESTED(propagation_nested)
如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。(嵌套的事务与当前事务同步提交或回滚)