簡體   English   中英

引發應用程序異常時,Hibernate saveAndFlush不持久

[英]Hibernate saveAndFlush not persisted when application exception is thrown

我希望有人遇到過這個問題:

在服務層中,我正在捕獲一個異常,在catch塊中,我想在數據庫中保存一個調用saveAndFlush的記錄,然后saveAndFlush應用程序異常。 問題是保存和刷新不會持久保存記錄,並且事務似乎回滾。

該代碼是這樣的:

catch(SomeException e) {
   repoClass.saveAndFlush(entity);
   throw new ApplicationException();
}

有什么想法嗎?

非常感謝。

這是因為如果代碼拋出任何RuntimeException ,那么spring將會回滾事務, ApplicationExceptionRuntimeException因此saveAndFlush無法正常工作(事務回滾)。

在您的情況下,您必須拋出UserDefinedException而不是RuntimeException

樣品

public class UserDefinedException extends Exception {

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM