spring 事务传播

Spring 一共提供了7种事务传播行为:
以下说明都是方法A调用方法B的情况
- PROPAGATION_REQUIRED
不管B有没有事务,B则会加入当前的事务中.
- PROPAGATION_REQUIRES_NEW
如果B没有事务,B则会加入当前的事务中.如果B有事务,则挂起当前事务,独立执行B的事务,和当前的事务没有关系.
- PROPAGATION_NESTED
如果B没有事务,就加入当前事务,如果有事务,则B事务与当前关联,作为A的子事务.如果A事务提交或者回滚,B事务也一起提交或回滚.只有A事务提交之后,B事务才能真正提交.但是B事务可以单独自己回滚,跟A事务没有关系.
- PROPAGATION_SUPPORTS
如果B没有事务,就以非事务方式运行,如果有,则加入当前的事务.
- PROPAGATION_NOT_SUPPORTED
如果B没有事务,就以非事务方式运行,如果有,则将当前的事务挂起,独立执行B的事务.
- PROPAGATION_NEVER
如果B没有事务,则以非事务方式运行,如果有,则抛出异常.
- PROPAGATUON_MANDATORY
如果B没有事务,则抛出异常,如果有,则加入当前事务.

spring事务传播非常的强大,一般默认都是PROPAGATION_REQUIRED.
使用方法:通过注解的方式使用

  @Transactional(propagation = Propagation.REQUIRES_NEW )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值