Spring事务隔离 && 事务传播
事务的四个属性: 1:原子性( Atomic ) 最重要的原则,也是最容易理解的原则。被事务管理的所有方法,要么一起被提交,要么一起回滚。 2:一致性( Consistency ) 事务在系统完整性中实施一致性,如果事务成功地完成,那么系统中所有变化将正确地应用,系统处于新 有效状态。如果在事务中出现错误,那么系统中的所有变化将自动地回滚,系统返回到原始状态。 3:隔离性( Isolation ) 在处理一个事务的时候,如果有一个事务同时处理,必须等待这个事务处理完毕,才能进行下一次 处理。 4:持久性( Durability ) 持久性意味着一旦事务执行成功,在系统中产生的所有变化将是永久的。应该存在一些检查点防止在系统 失败时丢失信息。甚至硬件本身失败,系统的状态仍能通过在日志中记录事务完成的任务进行重建。举例:在执行事务的时候,突然停电,等再来电的时候,有个事务记录通知重新执行下这个事务 。 并发问题: 脏读:(一个事务读取了未提交的事务)指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。 不可重复读:(同一个事务中多次读取同一个数据返回的结果不同 )指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改