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默认事务隔离级别,开发时通常使用的隔离级别)

 

 

           

posted @   yvioo  阅读(359)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示