Spring事务隔离级别

Spring事务隔离级别共有五种:DEFAULT、READ_UNCOMMITTED、READ_COMMITTED、REPEATBLE_READ、SERIALIZABLE。下面对这五个级别进行简单的介绍。

1 DEFAULT

Spring中默认的事务隔离级别。以连接的数据库的事务隔离级别为准。

2 READ_UNCOMMITTED

Spring事务最弱的隔离级别。一个事务可以读取到另一个事务未提交的事务记录。容易出现脏读、不可重复读、幻读的问题。

3 READ_COMMITTED

一个事务只能读取到已经提交的记录,不能读取未提交的记录。可以解决脏读问题,但仍出现不可重复读、幻读的问题。

4 REPEATBLE_READ

一个事务可以多次从数据库读取某条记录,而且多次读取的那条记录都是一致的、相同的。可以避免脏读、不可重复读的问题,但仍可能出现幻读的问题。

5 SERIALIZABLE

Spring最强的隔离级别,一般不推荐使用。

6 脏读、不可重复读、幻读

(1)脏读

读到了其他事务还没有提交的数据。

(2)不可重复读

对某数据进行读取,两次读取的内容结果不同。因为有其他事务对这个数据同时进行修改或删除。

(3)幻读

事务A根据条件查询得到了N条数据,此时,事务B更改或者增加了M条符合事务A查询条件的数据,当事务A再次进行查询的时候,就有N+M条数据。

相关推荐
傻瓜搬砖人2 小时前
Spring集成Web环境
java·spring·maven
Java小生不才5 小时前
Spring AI文生音
java·人工智能·spring
二哈赛车手5 小时前
新人笔记---实现简易版的rag的bm25检索(利用ES),以及RAG上传时的ES与向量数据库双写
java·数据库·笔记·spring·elasticsearch·ai
蜜獾云6 小时前
rocketmq traceId重复问题
spring·rocketmq·java-rocketmq
直奔標竿6 小时前
Java开发者AI转型第二十五课!Spring AI 个人知识库实战(四)——RAG来源追溯落地,拒绝AI幻觉
java·开发语言·人工智能·spring boot·后端·spring
薪火铺子7 小时前
Spring Security 6.x 实战指南
java·后端·spring
BING_Algorithm7 小时前
一文搞定 AOP 所有核心知识点
spring boot·后端·spring
Cyan_RA98 小时前
SpringMVC 请求数据绑定与参数映射 详解
java·后端·spring·mvc·springmvc·映射请求数据
Java成神之路-9 小时前
多 Filter、多 Interceptor 执行优先级控制方案
spring·java web
java1234_小锋10 小时前
Spring AI 2.0 开发Java Agent智能体 - Spring AI项目调用本地Ollama模型
java·人工智能·spring·spring ai2.0