service调用的存储过程里显式commit,而导致事务不能rollback
http://www.iteye.com/topic/75921?page=2
程序用的spring声明式事务管理
开始事务使用正常,后来发现一个service method事务出错,其操作如下
1.create obj1
2.调用obj2 的method 来执行存储过程sp
3.create obj3
发现在第3步出错时,第1步的操作没有rollback
检查后发现是由于第2步调用的存储过程里显式commit了
我理解为整个method是在一个事务里,第2步sp commit后之前的结果就不能rollback了
代码里去掉第2步的sp调用后,第3步出错可以正常rollback
我试过打开事务嵌套不行
<property name="nestedTransactionAllowed" value="true"/>
请问能不能通过spring配置的方式让存储过程里的commit不影响外层事务,谢谢!
由于sp很多,不知道去掉里面的commit会不会有其它影响,所以先考虑spring配置
另外请问一般sp编写时最后都会加上commit吗,这样岂不是很容易对调用它的外层事务产生影响。
---------------
不是单独使用一个local transaction,因为第2步的sp commit造成第1步的操作也不能rollback了
这就说明sp与其它操作是在一个事务里。
目前看来似乎只能修改sp去掉显式commit了
service调用的存储过程里显式commit,而导致事务不能rollback相关推荐
- Android使用Intent启动Service的Intent必须是显式的
今天使用Intent来启动Service时,代码如下: //为 Intent设置Action属性 intent.setAction("com.hust.service");star ...
- SQL Server数据库的存储过程中定义的临时表,真的有必要显式删除(drop table #tableName)吗?...
本文出处:http://www.cnblogs.com/wy123/p/6704619.html 问题背景 在写SQL Server存储过程中,如果存储过程中定义了临时表, 有些人习惯在存储过程结束的 ...
- Android显式意图和隐式意图
intent基本理解 我们都知道Android四大组件:Activity .Service.broadcast receiver 及 内容提供者. 其中,Activity .Service.broad ...
- android oreo_Android Oreo隐式和显式广播接收器
android oreo In this tutorial, we'll discuss the changes in Broadcast Receiver since Android Oreo. W ...
- 存储过程 锁定并发_Java并发教程–锁定:显式锁定
存储过程 锁定并发 1.简介 在许多情况下,使用隐式锁定就足够了. 有时,我们将需要更复杂的功能. 在这种情况下, java.util.concurrent.locks包为我们提供了锁定对象. 当涉及 ...
- C++ dll的隐式与显式调用
转载自:http://blog.sina.com.cn/s/blog_53004b4901009h3b.html 应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接.在使用D ...
- python定义方法self会被当作变量_为什么Python必须在方法定义和调用中显式使用“self”?...
为什么Python必须在方法定义和调用中显示使用"self"? 这个想法借鉴了 Modula-3 语言.出于多种原因它被证明是非常有用的. 首先,更明显的显示出,使用的是方法或实例 ...
- 阐述Linux动态库的显式调用
阐述Linux动态库的显式调用 分类: Linux 2011-02-12 10:27 168人阅读 评论(0) 收藏 举报 linux测试nulllibrarypathgcc 十年的发展,Linux系 ...
- QT显式调用VC开发的DLL
首先用visual studio创建dll. 然后通过QLibrary显式调用dll #include "QLibrary"
最新文章
- 荣耀:想成功要敢于推翻重来
- Web应用扫描工具Wapiti
- 可爱又好用!阿里云盘「小白羊版」
- 微信小程序 bindtap 绑定事件
- 全球及中国植物脂肪酸行业供给前景与需求规模预测报告2022版
- 老李分享:https协议
- 摩尔定律会死亡吗 芯片到底可以变得有多小
- 海王星 :谈中国共享软件的发展
- python 统计检验_常用统计检验的Python实现(附完整代码)
- Linux系统发行版大全(历史大全含发展图)
- Learning Agile software Development
- 操作系统形式化验证实践教程(2) - HOL列表与集合
- 织梦php数据库修改密码,如何使用phpmyadmin修改织梦后台密码
- python分苹果问题_蓝桥杯--算法提高--VIP--分苹果题目(差分数组)
- 遥感影像内部“白点”去除技巧
- 程序员常用的工具网站
- KnowStreaming贡献流程
- Spring--官方文档部分翻译(第一章)
- 【ThreeJS】基础教学 创建一个立方体
- C++之一些事一些情--写在前面
热门文章
- 【数据结构与算法】之深入解析“石子游戏V”的求解思路与算法示例
- iOS逆向之hook框架frida的安装和使用
- 第十届 蓝桥杯样题 —— 5个砝码
- 《算法竞赛入门经典》习题3-1 得分(Score,ACM、ICPC Seoul 2005,UVa1585)
- 【嵌入式】ARM技术博客汇总
- 【ARM】Tiny4412裸板编程之ADC
- 【Tiny4412】EMMC启动Qt网络文件系统
- 【Linux驱动】字符设备驱动
- [Qt教程] 第39篇 网络(九)进程和线程
- [Qt教程] 第34篇 网络(四)FTP(二)