[英]Hibernate saveAndFlush not persisted when application exception is thrown
我希望有人遇到過這個問題:
在服務層中,我正在捕獲一個異常,在catch塊中,我想在數據庫中保存一個調用saveAndFlush
的記錄,然后saveAndFlush
應用程序異常。 問題是保存和刷新不會持久保存記錄,並且事務似乎回滾。
該代碼是這樣的:
catch(SomeException e) {
repoClass.saveAndFlush(entity);
throw new ApplicationException();
}
有什么想法嗎?
非常感謝。
這是因為如果代碼拋出任何RuntimeException
,那么spring將會回滾事務, ApplicationException
是RuntimeException
因此saveAndFlush
無法正常工作(事務回滾)。
在您的情況下,您必須拋出UserDefinedException
而不是RuntimeException
樣品
public class UserDefinedException extends Exception {
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.