问题描述
采用spring 的AOP来托管事务现在有以下步骤1.update语句2.调用某存储过程3.update语句现在在3执行错误后,2的存储过程已经把前面的事务commit了,导致错误.有没什么办法单独存储过程的事务,或者其他解决方法 问题补充: 由于业务原因没有办法修改存储过程,有没可能靠SPRING来实现.或者说是其他方法
解决方案
直接的话,存储过程里不要commit改造的话,最好全部操作都放到存储过程中,一会java一会procedure很烦的说。
解决方案二:
我还想不起来,你的存储过程就commit了,不在事务的控制范围内了。就没法回滚。还是建议该存储过程。把你的update1和2封装进去,要么全部代码实现!
解决方案三:
嗯,楼上说的很不错!
时间: 2024-10-30 11:11:55