博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PROPAGATION_REQUIRED PROPAGATION_NESTED
阅读量:5824 次
发布时间:2019-06-18

本文共 778 字,大约阅读时间需要 2 分钟。

hot3.png

Spring API上说nested在当前有事务时在事务中运行,其他和required一样(Execute within a nested transaction if a current transaction exists, behave like  else.)这句话没看懂,required也是支持当前事务的啊,还是这个else并不是指 if a current transaction exists呢,得查查nested能不能自己新开一个事务。

Reference里说nested有多个savepoint,内部transaction可以回滚,required如果内部的transaction回滚会抛出异常。

他们的共同点,就是都可以嵌套,就算有子transaction的话,都运行在一个数据库事务中。

nested只能在JDBC3.0以上驱动的支持savepoint的 中使用

============

Execute within a nested transaction if a current transaction exists, behave like  else.这句话好像是说当前有事务的话,则运行一个嵌套的事务吗。和required的“Support a current transaction”貌似有区别。required只是简单的support当前事务,并不代表会运行一个嵌套事务。根据reference的讲法,spring有一个逻辑事务的概念,nested运行一个逻辑上的嵌套事务,用savepoint回滚。而required虽然也是运行一个逻辑的嵌套事务,但是没有savepoint支持,回滚会被抛出异常,算不上完整的嵌套事务

转载于:https://my.oschina.net/ajavaloser/blog/79425

你可能感兴趣的文章
最小角回归 LARS算法包的用法以及模型参数的选择(R语言 )
查看>>
Hadoop生态圈-Kafka常用命令总结
查看>>
如何基于Redis Replication设计并实现Redis-replicator?
查看>>
Linux 环境下 PHP 扩展的编译与安装 以 mysqli 为例
查看>>
浮点数内存如何存储的
查看>>
贪吃蛇
查看>>
EventSystem
查看>>
用WINSOCK API实现同步非阻塞方式的网络通讯
查看>>
玩一玩博客,嘿嘿
查看>>
P1352 没有上司的舞会
查看>>
ios11文件夹
查看>>
【HLOJ 559】好朋友的题
查看>>
Electric Fence(皮克定理)
查看>>
nvl 在mysql中如何处理
查看>>
MyEclipse 快捷键
查看>>
快速傅里叶变换FFT
查看>>
大数据常用基本算法
查看>>
JavaScript学习笔记(十三)——生成器(generator)
查看>>
hibernate保存失败
查看>>
MySQL增量订阅&消费组件Canal POC
查看>>