Spring中事务的传播特性

1.REQUIRED
当前存在事务,加入事务;当前不存在事务,就创建新事务
2.SUPPORT
当前存在事务,加入事务;当前不存在事务,就以非事务的方式运行
3.MANDATORY
当前存在事务,加入事务;当前不存在事务,就抛出异常
4.REQUIRE_NEW
不管当前有没有事务,都重新创建一个新事务
5.NOT_SUPPORT
以非事务的方式运行,如果当前存在事务,暂停当前事务
6.NEVER
以非事务方式运行,如果当前存在事务,就抛出异常
7.NESTED
当前没有事务,就创建一个新事务;如果有,就在当前事务中嵌套其他事务


NESTED和REQUIRES_NEW的区别:

他与PROPAGATION_REQUIRES_NEW的区别是,PROPAGATION_REQUIRES_NEW另起一个事务,将会与他的父事务相互独立,而Nested的事务和他的父事务是相依的,他的提交是要等和他的父事务一块提交的。也就是说,如果父事务最后回滚,他也要回滚的。
而Nested事务的好处是他有一个savepoint。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值