美文网首页java面试
事物隔离级别以及事物传播属性

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

作者: 代码行间的无聊生活 | 来源:发表于2017-03-01 00:20 被阅读0次

事物隔离级别

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

SERIALIZABLE 序列化

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

REPEATABLE READ 可重复读

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

READ COMMITED 读提交

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

READ UNCOMMITED 读未提交

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

事物传播属性

REQUIRED

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

REQUIRES_NEW

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

SUPPORTS

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

NOT_SUPPORTED

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

MANDATORY

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

NESTED

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

NEVER

  • 在无事物环境下运行,如存在事物则抛出异常

相关文章

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

    事物隔离级别 事物隔离级别是为解决脏读、幻读、不可重复读脏读:尚未被确定提交的数据被其他事物读取到幻读:进行sel...

  • spring事物

    1、事物属性 事物属性主要是通过TransactionDefinition接口实现定义,主要有事物的隔离级别,事物...

  • Isolution事物的隔离级别和传播属性

    Isolution事物的隔离级别 ISOLATION_DEFAULT: 这是一个PlatfromTransacti...

  • 事物隔离级别

    事物隔离级别 脏读、不可重复读、幻读 脏读一个事务正在访问数据,并对数据进行了修改,而这种修改还没有提交到数据库中...

  • 面试BAT前先搞定这些常问的MySQL面试题

    1、事物的并发?事物隔离级别,每个级别会引发什么问题?MySQL默认是哪个级别? 事物应该彼此完全隔离,以避免并发...

  • hibernate10

    两个事物都提交了,但没结果,这是事物的隔离级别,不可并发响应, 改变事物的隔离级别

  • JDBC事物隔离级别

    脏读:这种情况发生在事务中允许读取未提交的数据。例如,A事物修改了一条数据,但是未提交修改,此时A事物对数据的修改...

  • 事物的隔离级别

    read-uncommit 脏读read-commit 可以避免脏读,但是不可重复读(修改数据的时候造成的)rep...

  • 干货!Spring事物传播特性隔离级别ACID及StringBo

    前言 今天来详细说一下Spring事物传播特性隔离级别ACID及StringBoot编程式事 一致的事物模型 Sp...

  • 数据库事物

    目录: 1.事物 A.事物是什么 B.启动结束事物 C.如何使用 2.事物的特性 3.事物的隔离级别 4.事物隔离...

网友评论

    本文标题:事物隔离级别以及事物传播属性

    本文链接:https://www.haomeiwen.com/subject/qsofgttx.html