精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-04-29
kanbol 写道 jncz 写道 调用存储过程会单独使用一个local transaction。所以他会提交。同时又不在外部事务的控制之下,于是就无法回滚。
不是单独使用一个local transaction,因为第2步的sp commit造成第1步的操作也不能rollback了 这就说明sp与其它操作是在一个事务里。 目前看来似乎只能修改sp去掉显式commit了 |
|
返回顶楼 | |
发表时间:2007-04-29
dovecat 写道 kanbol 写道 jncz 写道 调用存储过程会单独使用一个local transaction。所以他会提交。同时又不在外部事务的控制之下,于是就无法回滚。
不是单独使用一个local transaction,因为第2步的sp commit造成第1步的操作也不能rollback了 这就说明sp与其它操作是在一个事务里。 目前看来似乎只能修改sp去掉显式commit了 如果改完之后半分钟没有响应请找DBA解决。。。。 |
|
返回顶楼 | |
发表时间:2007-04-29
抛出异常的爱 写道 不一定简单。。。。
如果改完之后半分钟没有响应请找DBA解决。。。。 为什么会出现这种情况? |
|
返回顶楼 | |
发表时间:2007-04-29
kanbol 写道 抛出异常的爱 写道 不一定简单。。。。
如果改完之后半分钟没有响应请找DBA解决。。。。 为什么会出现这种情况? DBA作了处理就OK了 |
|
返回顶楼 | |
发表时间:2007-04-29
把你的第二步写成service的一个方法
在spring中设置事务传播为嵌套属性试试 |
|
返回顶楼 | |
发表时间:2007-04-29
xly_971223 写道 把你的第二步写成service的一个方法
在spring中设置事务传播为嵌套属性试试 试过了不行 |
|
返回顶楼 | |
发表时间:2007-05-01
改成存储过程调用存储过程,而不要在你的service代码中调用两个存储过程.
|
|
返回顶楼 | |
发表时间:2007-05-01
jamesby 写道 改成存储过程调用存储过程,而不要在你的service代码中调用两个存储过程.
没有调两个存储过程啊 |
|
返回顶楼 | |
发表时间:2007-05-01
总的来讲,既然用了spring的事务处理,就不应该绕过spring再去提交或回滚操作事务,spring是没法感知外面发生的情况的。
|
|
返回顶楼 | |
发表时间:2007-05-01
我的意思是或者你全部使用存储过程实现业务逻辑,通过存储过程调用存储过程。也就是对于spring来说入口只有一个存储过程,或者完全不使用存储过程。
|
|
返回顶楼 | |