美文网首页工作生活
Spring 支持的事务隔离级别

Spring 支持的事务隔离级别

作者: 零点145 | 来源:发表于2019-07-01 11:52 被阅读0次

并发事务所导致的问题:

当同一个应用程序或者不同应用程序中的多个事务在同一个数据集上并发执行时, 可能会出现许多意外的问题

并发事务所导致的问题可以分为下面三种类型:

 脏读: 对于两个事物 T1, T2, T1  读取了已经被 T2 更新但 还没有被提交的字段. 之后, 若 T2 回滚, T1读取的内容就是临时且无效的.

不可重复读:对于两个事物 T1, T2, T1  读取了一个字段, 然后 T2 更新了该字段. 之后, T1再次读取同一个字段, 值就不同了.

幻读:对于两个事物 T1, T2, T1  从一个表中读取了一个字段, 然后 T2 在该表中插入了一些新的行. 之后, 如果 T1 再次读取同一个表, 就会多出几行.

事务的隔离级别:

从理论上来说, 事务应该彼此完全隔离, 以避免并发事务所导致的问题. 然而, 那样会对性能产生极大的影响, 因为事务必须按顺序运行. 

 在实际开发中, 为了提升性能, 事务会以较低的隔离级别运行.

事务的隔离级别可以通过隔离事务属性指定

点击链接加入群聊【java技术交流】:https://jq.qq.com/?_wv=1027&k=5TYx2fm

事务的隔离级别要得到底层数据库引擎的支持, 而不是应用程序或者框架的支持.

Oracle 支持的 2 种事务隔离级别:READ_COMMITED , SERIALIZABLE

Mysql 支持 4 中事务隔离级别

用 @Transactional 注解声明式地管理事务时可以在 @Transactional 的 isolation 属性中设置隔离级别

@Transactiona(propagation=Propagation .REQUIRES_NEW, isolation=Isolation.READ_COMMITED)

相关文章

  • 问题记录

    面试题记录 spring spring事务传播机制和隔离级别? spring支持的事务类型? 什么是 Spring...

  • Spring 事务传播行为(一)

    Spring 提供了对数据库事务的支持,除了常说的事务隔离级别,Spring 定义了不同的事务传播行为,用来简化我...

  • Spring 支持的事务隔离级别

    并发事务所导致的问题: 当同一个应用程序或者不同应用程序中的多个事务在同一个数据集上并发执行时, 可能会出现许多意...

  • Java高频面试题分享(六)——Spring 支持的数据库事务传

    面试题: 请介绍下 Spring 支持的常用数据库事务传播属性和事务隔离级别? 参考答案: 事务传播属性: 当事务...

  • 关于Spring的事务Transactional,锁同步,并发线

    Spring事务传播机制和数据库隔离级别 在标准SQL规范中定义了4个事务隔离级别,不同隔离级别对事务处理不同 。...

  • Spring事务_基础2(事务的隔离级别)

    Spring事务_基础2(事务的隔离级别)## 事务的隔离级别### 尽管数据库为用户提供了锁的DML操作方式,但...

  • Spring 事物的隔离级别

    前言:最近在看spring的事物 一、Spring事务隔离级别 ISOLATION_DEFAULT: 默认的隔离...

  • Spring事务

    spring事务作用于当前线程,不能跨线程共享。 隔离级别isolation 隔离级别是指一个事务访问其他事务操...

  • 事务

    spring事务: 隔离级别 隔离级别是指若干个并发的事务之间的隔离程度,与我们开发时候主要相关的场景包括:脏读取...

  • Spring事务传播行为详解

    Spring事务的隔离级别和传播行为 一、简述 Spring 在 TransactionDefinition 接口...

网友评论

    本文标题:Spring 支持的事务隔离级别

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