1. 程式人生 > 其它 >Springboot 同一controller引發的多表寫入,拋異常回滾。

Springboot 同一controller引發的多表寫入,拋異常回滾。

技術標籤:spring bootspring boot資料庫exception

寫網站新手,還望多多擔待

當在處理同一controller引發的多表寫入時,如果出現前面的寫入正常,後續寫入異常報錯,就會出現錯誤的資料被填入資料庫的問題。這時需要用到事務回滾。

解決辦法

在需要回滾的事務頭部加上
@Transactional(rollbackFor = Exception.class)註解。

class InspectServiceImpl{
 
    @Transactional(rollbackFor = Exception.class)
    public boolean generateInspect
(){ insert1(); ……………… insert2(); ……………… }

遇到執行/非執行異常時,整個事務的操作會被回滾,資料庫也會回滾。

參考:Spring中的@Transactional(rollbackFor = Exception.class)屬性詳解