Springboot 同一controller引發的多表寫入,拋異常回滾。
阿新 • • 發佈:2021-01-20
技術標籤: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)屬性詳解