Spring 支持的事务隔离级别

并发事务所导致的问题:

    当同一个应用程序或者不同应用程序中的多个事务在同一个数据集上并发执行时, 可能会出现许多意外的问题 并发事务所导致的问题可以分为下面三种类型: 脏读: 对于两个事物 T1, T2, T1  读取了已经被 T2 更新但 还没有被提交的字段. 之后, 若 T2 回滚, T1读取的内容就是临时且无效的. 不可重复读:对于两个事物 T1, T2, T1  读取了一个字段, 然后 T2 更新了该字段. 之后, T1再次读取同一个字段, 值就不同了. 幻读:对于两个事物 T1, T2, T1  从一个表中读取了一个字段, 然后 T2 在该表中插入了一些新的行. 之后, 如果 T1 再次读取同一个表, 就会多出几行.

事务的隔离级别:

    从理论上来说, 事务应该彼此完全隔离, 以避免并发事务所导致的问题. 然而, 那样会对性能产生极大的影响, 因为事务必须按顺序运行.  在实际开发中, 为了提升性能, 事务会以较低的隔离级别运行.     事务的隔离级别可以通过隔离事务属性指定

事务的隔离级别要得到底层数据库引擎的支持, 而不是应用程序或者框架的支持.     Oracle 支持的 2 种事务隔离级别:READ_COMMITED , SERIALIZABLE     Mysql 支持 4 中事务隔离级别

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员同行者

cobbler 自定义安装系统

15920
来自专栏CaiRui

linux+Nginx+Mysql+Php

LNMP简介 LAMP(Linux apache mysql php)---比较早的web服务。 LNMP(Linux nginx mysql php)---比...

34590
来自专栏专注于主流技术和业务

Jenkins构建maven项目:找不到本地依赖JAR包的解决办法

在Springboot项目中,使用Jenkins自动检测SVN自动构建发布项目,但是有些jar需要本地引入,无法从maven服务器下载,因为这些jar包是引用其...

1.3K20
来自专栏IMWeb前端团队

使用git自动部署简单网站

本文作者:IMWeb yangchunwen 原文出处:IMWeb社区 未经同意,禁止转载 要做什么 假设你有一个博客,有一台网站服务器(或者很多台作...

21860
来自专栏我是攻城师

最新版Solr6.2.1安装记录

36550
来自专栏SAP梦心的SAP分享

【域控管理】父域的搭建

从这篇博文开始,所有的域控系统都是在虚拟机中创建的。 在VM里安装Windows Server 2008 R2的方法就不多说了,无脑式安装,略过不提。 进到系统...

41280
来自专栏运维

CentOS 5至CentOS 5.8 YUM 源

本源是http://mirrors.163.com的,也可用http://centos.ustc.edu.cn/的,

1.1K20
来自专栏刺客博客

PHP利用淘宝IP接口获取用户IP所在地

最近在研究PHP解析JSON,怎奈技术不过关,问了一下相关同学,获取到了解决办法,废话不多,直接上代码:

22110
来自专栏Python、Flask、Django

MongoDb 3.4.x 集群部署之分片

12430
来自专栏运维小白

10.35 screen工具

screen工具 为了不让一个任务意外中断 nohup command & screen是一个虚拟终端 yum install -y screen screen...

21280

扫码关注云+社区

领取腾讯云代金券