脏读、不可重复读与幻读和spring事务传播方式

脏读、不可重复读和幻读是数据库事务可能出现的问题,理解和解决这三类问题应该结合数据库事务隔离级别来学习和分析。

数据库事务的隔离级别有4个,由低到高依次为Read uncommittedRead committedRepeatable readSerializable

√: 可能出现    ×: 不会出现

脏读 不可重复读 幻读
Read uncommitted
Read committed ×
Repeatable read × ×
Serializable × × ×


脏读:是指一个事务读取到了另一个事务未提交的数据。

不可重复读:指一个事务读取时另一个事务可以修改数据。

幻读:一个事务读取时另一个事务insert操作。

这三类问题的解决方式就是依次提高数据库的事务隔离级别。


另外,一组相关概念:spring七种事务传播方式。

spring事务的七种传播方式主要是针对于方法中间传递时的事务机制,

例如:以方法B为当前主体 ,方法A调用了方法B ,作为方法B你看方法A

(1)PROPAGATION_REQUIRED(默认):如果A有事务则B加入A事务,如果A没有事务则新B建一个事务;






猜你喜欢

转载自blog.csdn.net/oro99/article/details/76709923
今日推荐