事务的隔离级别,传播行为,锁机制
一,事务的特性(ACID): 原子性(Atomicity): 事务是一个完整的操作,事务的各步操作都是不可再分的,要么都执行, 要么都不执行。 一致性(Consistency): 当事务完成时,数据必须处于一致的状态。 隔离性(Isolation): 并发事务之间相互独立、隔离,它不应以任何方式依赖于或影响其他事务。 持久性(Durability): 事务完成后,它对数据库的修改被永久保持。 在Spring中,所有操作事务的类都继承自 PlatformTransactionManager 二,事务的隔离级别 ISOLATION_READ_UNCOMMITTED:读未提交 ISOLATION_READ_COMMITTED:读已提交 ISOLATION_REPEATABLE_READ:可重复读 ISOLATION_SERIALIZABLE:串行化 三,脏读,不可重复读,幻读(虚读) 脏读:A事务读取B事务尚未提交的更改数据,并在这个数据的基础上进行操作,这时候如果事务B回滚,那么A事务读到的数据是不被承认的。 不可重复读:不可重复读是指A事务读取了B事务已经提交的更改数据。假如A在取款事务的过程中,B往该账户转账100,A两次读取的余额发生不一致。 幻读:A事务读取B事务提交的新增数据,会引发幻读问题。幻读一般发生在计算统计数据的事务中 四,事务的传播行为 五,锁机制 悲观锁: