我希望在發生個性化例外后取消我的交易
@Transactional
public class MyClass{
public void step1() throws Exception {
throw new java.lang.Exception();
}
public void step2() throws Exception {
throw new java.lang.Exception();
}
}
但是當我的例外發生時什么都沒有發生。
uj5u.com熱心網友回復:
這是正常的,默認情況下,只有在拋出未經檢查的例外時才會取消彈簧。
您必須在類的頂部添加 @Transactional ( rollbackFor = Exception .class )。
像那樣
@Transactional ( rollbackFor = Exception.class )
public class MyClass{
public void step1() throws Exception {
throw new java.lang.Exception();
}
public void step2() throws Exception {
throw new java.lang.Exception();
}
}
現在,您的例外可以取消您的交易。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/422242.html
標籤:
上一篇:使用執行緒將記錄保存到資料庫
下一篇:為什么這兩個代碼塊的行為不同?
