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吗,这样岂不是很容易对调用它的外层事务产生影响。

---------------

jncz 写道
调用存储过程会单独使用一个local transaction。所以他会提交。同时又不在外部事务的控制之下,于是就无法回滚。

不是单独使用一个local transaction,因为第2步的sp commit造成第1步的操作也不能rollback了
这就说明sp与其它操作是在一个事务里。

目前看来似乎只能修改sp去掉显式commit了

service调用的存储过程里显式commit,而导致事务不能rollback相关推荐

  1. Android使用Intent启动Service的Intent必须是显式的

    今天使用Intent来启动Service时,代码如下: //为 Intent设置Action属性 intent.setAction("com.hust.service");star ...

  2. SQL Server数据库的存储过程中定义的临时表,真的有必要显式删除(drop table #tableName)吗?...

    本文出处:http://www.cnblogs.com/wy123/p/6704619.html 问题背景 在写SQL Server存储过程中,如果存储过程中定义了临时表, 有些人习惯在存储过程结束的 ...

  3. Android显式意图和隐式意图

    intent基本理解 我们都知道Android四大组件:Activity .Service.broadcast receiver 及 内容提供者. 其中,Activity .Service.broad ...

  4. android oreo_Android Oreo隐式和显式广播接收器

    android oreo In this tutorial, we'll discuss the changes in Broadcast Receiver since Android Oreo. W ...

  5. 存储过程 锁定并发_Java并发教程–锁定:显式锁定

    存储过程 锁定并发 1.简介 在许多情况下,使用隐式锁定就足够了. 有时,我们将需要更复杂的功能. 在这种情况下, java.util.concurrent.locks包为我们提供了锁定对象. 当涉及 ...

  6. C++ dll的隐式与显式调用

     转载自:http://blog.sina.com.cn/s/blog_53004b4901009h3b.html 应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接.在使用D ...

  7. python定义方法self会被当作变量_为什么Python必须在方法定义和调用中显式使用“self”?...

    为什么Python必须在方法定义和调用中显示使用"self"? 这个想法借鉴了 Modula-3 语言.出于多种原因它被证明是非常有用的. 首先,更明显的显示出,使用的是方法或实例 ...

  8. 阐述Linux动态库的显式调用

    阐述Linux动态库的显式调用 分类: Linux 2011-02-12 10:27 168人阅读 评论(0) 收藏 举报 linux测试nulllibrarypathgcc 十年的发展,Linux系 ...

  9. QT显式调用VC开发的DLL

    首先用visual studio创建dll. 然后通过QLibrary显式调用dll #include "QLibrary"

最新文章

  1. 荣耀:想成功要敢于推翻重来
  2. Web应用扫描工具Wapiti
  3. 可爱又好用!阿里云盘「小白羊版」
  4. 微信小程序 bindtap 绑定事件
  5. 全球及中国植物脂肪酸行业供给前景与需求规模预测报告2022版
  6. 老李分享:https协议
  7. 摩尔定律会死亡吗 芯片到底可以变得有多小
  8. 海王星 :谈中国共享软件的发展
  9. python 统计检验_常用统计检验的Python实现(附完整代码)
  10. Linux系统发行版大全(历史大全含发展图)
  11. Learning Agile software Development
  12. 操作系统形式化验证实践教程(2) - HOL列表与集合
  13. 织梦php数据库修改密码,如何使用phpmyadmin修改织梦后台密码
  14. python分苹果问题_蓝桥杯--算法提高--VIP--分苹果题目(差分数组)
  15. 遥感影像内部“白点”去除技巧
  16. 程序员常用的工具网站
  17. KnowStreaming贡献流程
  18. Spring--官方文档部分翻译(第一章)
  19. 【ThreeJS】基础教学 创建一个立方体
  20. C++之一些事一些情--写在前面

热门文章

  1. 【数据结构与算法】之深入解析“石子游戏V”的求解思路与算法示例
  2. iOS逆向之hook框架frida的安装和使用
  3. 第十届 蓝桥杯样题 —— 5个砝码
  4. 《算法竞赛入门经典》习题3-1 得分(Score,ACM、ICPC Seoul 2005,UVa1585)
  5. 【嵌入式】ARM技术博客汇总
  6. 【ARM】Tiny4412裸板编程之ADC
  7. 【Tiny4412】EMMC启动Qt网络文件系统
  8. 【Linux驱动】字符设备驱动
  9. [Qt教程] 第39篇 网络(九)进程和线程
  10. [Qt教程] 第34篇 网络(四)FTP(二)