Springboot 注解 @Transactional(propagation = Propagation.REQUIRED)

Springboot 中, 事务的注解如下:

@Transactional(propagation = Propagation.REQUIRED)

其中,Propagation有 7 个常量值, 常用的有 REQUIRED 和 SUPPORTS, 下面是各种值的解释:

PROPAGATION_REQUIRED: 如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。

PROPAGATION_SUPPORTS: 支持当前事务,如果当前没有事务,就以非事务方式执行。

PROPAGATION_MANDATORY: 使用当前的事务,如果当前没有事务,就抛出异常。

PROPAGATION_REQUIRES_NEW: 新建事务,如果当前存在事务,把当前事务挂起。

PROPAGATION_NOT_SUPPORTED: 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

PROPAGATION_NEVER: 以非事务方式执行,如果当前存在事务,则抛出异常。

PROPAGATION_NESTED: 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与 PROPAGATION_REQUIRED 类似的操作。

作者:ddxuzengbin
链接:https://www.jianshu.com/p/16bab86eb12e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  
    展开阅读全文