Spring支持的常用数据库传播属性和事务隔离级别

一、事务的传播属性

      1、propagation:用来设置事务的传播行为,一个方法运行在了一个开启了事务的方法中时,当前方法是使用原来的事务还是开启一个新的事务。

            (1)propagation.REQUIRED:默认值,使用原来的事务。

            (2)Propagation.REQUIREDS_NEW:将原来的事务挂起,开启一个新的事务

二、事务的隔离级别

   1、读未提交:READ UNCOMMITTED  允许事务1读取事务2未提交的修改

    2、读已提交:READ COMMITTED  要求事务1只能读取事务2已提交的修改 

    3、可重复读:REPEATABLE READ   确保事务1可以多次从一个字段中读取到相同的值,即事务1执行期间禁止其他事务对这个字段进行更新  

    4、串行化:SERIALIZABLE  确保事务1可以多次从一个表中读取到相同的行,在事务1执行期间,禁止其他事务对这个表进行添加、更新、删除操作。可以避免任何并发问题,但性能十分低下。

    ioslation:用来设置事务的隔离级别

             Isolation.REPEATABLE_READ  可重复读(MySQL默认事务隔离级别)

             Isolation.READ_COMMITTED 读已提交(Oracle默认事务隔离级别,开发时通常使用的隔离级别)

           

猜你喜欢

转载自www.cnblogs.com/pxblog/p/11568267.html
今日推荐