spring 事务传播(Propagation)
2024-09-07 20:20:06
propagation
一共有以下几种选项:
1. REQUIRED(默认): 使用当前的事务,如果当前没有事务,则自己新建一个事务,子方法必须运行在一个事务中;如果当前存在事务,则加入这个事务,成为一个整体
2. SUPPORTS: 如果当前有事务,则使用事务;如果当前没有事务,则不使用事务。主要用于查询,因为查询不需要事务。
3. MANDATORY: 强制要求必须存在一个事务,如果不存在,则抛出异常
4. REQUIRES_NEW: 如果当前有事务,则挂起该事务,并自己创建一个新的事务给自己使用;如果当前没有事务,则同 REQUIRED
5. NOT_SUPPORTED: 如果当前有事务,则把事务挂起,自己不适用事务去执行数据库操作
6. NERVER: 如果当前有事务存在,则抛出异常
7. NESTED: 如果当前有事务,则开启子事务(嵌套事务),嵌套事务是独立提交或者回滚;如果当前没有事务,则同 REQUIRED
但是如果主事务提交,则会携带子事务一起提交。
如果主事务回滚,则子事务会一起回滚。相反,子事务异常,则父事务可以回滚或不回滚。
最新文章
- CSS3 值得称赞新特性
- DIV伸缩盒子box
- js 实现ActiveXObject(";Scripting.Dictionary";) 功能
- Unity3D事件函数的执行顺序 - 包含渲染等模块的完整版,中英文对照
- html EL表达式抬头
- php笔记[2]
- linux shell 当前时间
- 基于Elasticsearch进行地理检索,计算距离值
- CodeForces 732B Cormen — The Best Friend Of a Man (贪心)
- SpringMVC文件上传 Excle文件 Poi解析 验证 去重 并批量导入 MYSQL数据库
- PHP学习笔记12-上传文件
- GridView用法的修改和删除
- Bmp 解析 (2013-09-09 19:30:41)
- Java 解析 lnk 快捷方式文件的方法(转)
- Luogu P1919 【模板】A*B Problem升级版(FFT快速傅里叶_FFT
- Codeforces.1129E.Legendary Tree(交互 二分)
- win10系统电脑无法识别u盘的解决办法
- SQL-记录删除篇-007
- springboot之启动原理解析及源码阅读
- ssh中的 Connection closed by ***