1. 程式人生 > >執行sql在catch中手動事務回滾

執行sql在catch中手動事務回滾

當執行sql時,spring發生非檢查型異常才會回滾事務,當try-catch處理了異常,需要重新丟擲異常才能回滾。

在try-catch-finally使用了return語句,異常不會丟擲,因此也不會發生回滾,需要手動回滾事務。

在catch塊中:

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();