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)不可重复读
对某数据进行读取,两次读取的内容结果不同。因为有其他事务对这个数据同时进行修改或删除。文章来源:https://www.toymoban.com/news/detail-703902.html
(3)幻读
事务A根据条件查询得到了N条数据,此时,事务B更改或者增加了M条符合事务A查询条件的数据,当事务A再次进行查询的时候,就有N+M条数据。文章来源地址https://www.toymoban.com/news/detail-703902.html
到了这里,关于Spring事务隔离级别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!