使用spring的事务控制,这种情况如何处理呢
controller的方法调用service,大概是这样
1
2
3 |
for (String pk: pkAry){ this .getService().pick(pk); } |
大概逻辑是这里支持多选操作
pick方法的大概处理逻辑是这样
1
2
3
4
5 |
@Transactional <br>pick(String pk){ process( 1 ); //更新表 process( 2 ); //更新表 process( 3 ); //更新表 } |
希望在controller中能够提示某次的pick调用失败了,那么失败的这次pick调用回滚,但是不影响其他的pkAry继续调用pick。
这样我在前台会提示说"本次批量操作部分成功”
不知道这种情况如何处理呢?
我不能在controller中把异常捕获了,这样如果执行到process(2)失败的时候,process(1)不会回滚。如果我都不捕获,虽然都会回滚,但是无法做到前台提示某些情况下调用成功。这种业务场景应该很常见的。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。