事物隔离级别以及事物传播属性

事物隔离级别

  • 事物隔离级别是为解决脏读、幻读、不可重复读
  • 脏读:尚未被确定提交的数据被其他事物读取到
  • 幻读:进行select时间点上的数据与之后实际的情况不同,即会新增数据
  • 不可重复读: 同一数据同时被多个事物读取,多个事物可对同一数据同时进行修改,造成数据前后不一致。

SERIALIZABLE 序列化

  • 最高级别的事物隔离级别
  • 事物按照顺序执行: 解决了脏读、幻读、不可重复读

REPEATABLE READ 可重复读

  • 在进行Select时的数据将不可进行修改,但是数据可以新增
  • 解决了脏读、不可重复读,会出现幻读

READ COMMITED 读提交

  • 事物在读取数据后立即释放了读锁,导致其他事物可以修改此数据。
  • 解决脏读,会出现幻读、不可重复读

READ UNCOMMITED 读未提交

  • 数据在未提交时可以被其他事物读取
  • 会出现 脏读、幻读、不可重复读

事物传播属性

REQUIRED

已存在一个事务,则加入该事务,否则创建一个新的事务.
Spring默认的传播行为

REQUIRES_NEW

  • 创建新的事物,如果已经存在一个事物则挂起此事物、

SUPPORTS

  • 如果存在以存在一个事物且则加入此事物,否则在无事物模式下运行

NOT_SUPPORTED

  • 在无事物模式下运行,如果存在事物则挂起该事物

MANDATORY

  • 强制使用事物,不存在事物则抛出异常

NESTED

  • 当前存在事务,则将该方法运行在嵌套的事务中。被嵌套的事务可以从当前事务中单独的提交和回滚。如不存在事务,则创建新的事务

NEVER

  • 在无事物环境下运行,如存在事物则抛出异常
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值