使用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)不会回滚。如果我都不捕获,虽然都会回滚,但是无法做到前台提示某些情况下调用成功。这种业务场景应该很常见的。

使用spring的事务控制,这种情况如何处理呢,布布扣,bubuko.com

使用spring的事务控制,这种情况如何处理呢

上一篇:45个实用的JavaScript技巧、窍门和最佳实践


下一篇:轻量级爬虫+全文检索解决方案项目——NukeLite(2008-11-14 更新r24版 引入新线程机制)