2
我正在使用spring-boot和JPA。我試圖捕獲未經檢查的異常,像(約束違規)拋出交易。即使我添加了catch塊,它會在事務邊界不存在時拋出。如何捕獲未檢查的事務異常
我用Google搜索,發現可以通過事務回調來實現。我試着下面的代碼:仍然給它錯誤
public class TransactionAspect extends TransactionSynchronizationAdapter {
@Before("@annotation(org.springframework.transaction.annotation.Transactional)")
public void registerTransactionSyncrhonization() {
TransactionSynchronizationManager.registerSynchronization(this);
}
@Override
public void afterCompletion(int status) {
// code
System.out.println(status);
}
}
請幫助我!
+1 Thanks..yeah。你是對的。但有沒有另一種解決方法,而不是手動調用刷新?因爲我必須在任何地方手動調用它。我想使它成爲通用邏輯 – NFE
@NFE我沒有想法,但是您可以嘗試在'@ Transactional'上面的一個級別的方法中提取try {} catch {}或使用'@ ExceptionHandler'來捕獲異常全局 –