Spring事务的七种传播行为?

  • 事务的传播行为

  • Propagation.REQUIRED(required)(默认值)
  • 如果当前存在事务,则加入该事务,如果当前不存在事务,则创建一个新的事务。
  • Propagation.SUPPORTS(supports)
  • 如果当前存在事务,则加入该事务;如果当前不存在事务,则以非事务的方式继续运行。
  • Propagation.MANDATORY(mandatory)
  • 如果当前存在事务,则加入该事务;如果当前不存在事务,则抛出异常。
  • Propagation.REQUIRES_NEW(requiers_new)
  • 重新创建一个新的事务,如果当前存在事务,延缓当前的事务。
  • Propagation.NOT_SUPPORTED(not_supported)
  • 以非事务的方式运行,如果当前存在事务,暂停当前的事务。
  • Propagation.NEVER(never)
  • 以非事务的方式运行,如果当前存在事务,则抛出异常。
  • Propagation.NESTED(nested)
  • 如果没有,就新建一个事务;如果有,就在当前事务中嵌套其他事务。
  • 默认值为 Propagation.REQUIRED。可以手动指定其他的事务传播行为,如:@Transactional(propagation = Propagation.REQUIRED)
posted @ 2020-09-06 11:46  SkillingYu  阅读(197)  评论(0编辑  收藏  举报