spring 的事务隔离级别是何许人也
spring 事务隔离级别:
spring 存在五种隔离级别:这五种隔离级别通常是来源于 MySQL 的事务的隔离级别,可以相应的解决事务提交过程中的,数据安全的问题,比如读未提交,不可重复读取,脏读,幻读的问题,其中脏读(读未提交);
1.ISOLATION_DEFAULT 隔离级别
默认的事务隔离级别,spring 中接口 PlatfromTransactionManager 默认的事务,会直接使用默认的数据库的事务隔离级别
2.ISOLATION_READ_UNCOMMITTED 隔离级别
读未提交,产生脏读,不可重复读,幻读的问题
3.ISOLATION_COMMITTED 隔离级别
读已提交,可以解决脏读的问题;-->不可重复读,幻读的问题
4.ISOLATION_REPEATABLE_READ 隔离级别
可重复读取,解决不可重复读的问题-->幻读的问题
5.ISOLATION_SERIALIZABLE 隔离级别
解决幻读的问题,相当于 MySQL 的串行化的问题
这些都是比较基本的是隔离级别;
spring 事务传播机制;
spring 事务传播机制主要有 7 种类型,
spring 事务的传播机制类型,org.springframework.transaction.annotaion.Propagation 枚举类
如果说想加入一个方法中,加入我需要的一个事务,比如是下订单的额操作,我给这个类中,添加订单的方法,持续的加入一个事务,用于管理整个下订单的过程,其中有订单的添加,库存下发,分单派件,
枚举类中 Propagation 和 @Transactional 注解使用,枚举类中定义的事务传播行为类型与 spring 的三大接口中定义的是传播类型 相对应。
但是我们用使用搞得还是 spring 默认使用的 Propagation 类,其中有上述的七个对应的 spring 的事务传播机制;
REQUIRED 事务的传播类型举个例子;
当前这个 spring 我事务传播类型,齐国是当前没有事务,就创建一个事务,已经存在一个事务,就加入这个事务, 如果说这个事务发生异常,调用端都回滚,
代码展示:
添加到某一方法上就是
版权声明: 本文为 InfoQ 作者【卢卡多多】的原创文章。
原文链接:【http://xie.infoq.cn/article/e8b30375987830549962de999】。文章转载请联系作者。
评论