脏写:(都是写数据)就是两个事务没提交的状况下,都修改同一条数据,结果一个事务回滚了,把另外一个事务修改的值也给撤销了,所谓脏写就是两个事务没提交状态下修改同一个值。
脏读:(一个写一个查)事务A正在执行中,事务B执行修改了x值,事务A读到x值,这时事务B回滚。
不可重复读:(一个查三个写)事务A正在执行,事务B执行并提交x值,事务A读到x值。事务C执行并提交xx值,事务A读到xx值。
幻读:(查多条数据,插入数据)事务A查数据,第一次查10条,这时事务B插入了几条数据并提交,接着事务A第二次查询,查出来12条数据,宛若出现幻觉。
4种事务隔离级别
read uncommitted(读未提交) 不允许发生脏写
read committed(读已提交) 不允许发生脏写、脏读
repeatable(可重复读) 不允许发生脏写、脏读、不可重复读
read serializable(串行化) 不允许发生脏写、脏读、不可重复读、幻读
Spring里隔离级别设置**
@Transtional(isolation=isolation.DEFAULT)
@Transtional(isolation=isolation.READE_COMMITTED)
@Transtional(isolation=isolation.REPETABLE_READ)
@Transtional(isolation=isolation.SERIALIZABLE)
RC级别 ReadView机制




