使用spring的事務控制,這種情況如何處理呢

2022-07-21 19:42:13 字數 420 閱讀 3008

controller的方法呼叫service,大概是這樣

for(string pk: pkary)

大概邏輯是這裡支援多選操作

pick方法的大概處理邏輯是這樣

@transactional

pick(string pk)

希望在controller中能夠提示某次的pick呼叫失敗了,那麼失敗的這次pick呼叫回滾,但是不影響其他的pkary繼續呼叫pick。

這樣我在前台會提示說"本次批量操作部分成功」

不知道這種情況如何處理呢?

我不能在controller中把異常捕獲了,這樣如果執行到process(2)失敗的時候,process(1)不會回滾。如果我都不捕獲,雖然都會回滾,但是無法做到前台提示某些情況下呼叫成功。這種業務場景應該很常見的。

Spring 事務 事務控制

0 註解 autowire 自動注入 url url b 1 spring專案中事務手動回滾 b transactionaspectsupport.currenttransactionstatus setrollbackonly 或者丟擲異常 transactional rollbackfor pu...

spring 的事務控制

在spring開發過程中,我們用在類上打上 transactional 標籤來宣告當前類是乙個事務來控制的 當然也可以直接放在方法上 因為有service間的互相呼叫,導致多個事務操作同一張表的情況,目前解決就是把方法移到同一service中處理。還有乙個問題就是當service處理過程中報錯,事物...

spring 事務控制

事務配置 二 在service加try 導致事務不回滾 註明 一般service不要加 try public class userserviceimpl catch exception e 三 解決方案 方法1 在service不加try,方法2 在 catch語句中最後增加throw new ru...