您好,使用Spring/JPA Hibernate會遇到一個問題。Hibernate @Transactionl錯誤
我有服務類methodA()
兩個方法和methodB()
@Transactional
methodA(){
for(){
methodB();
}
some other database operations.
}
@Transactional
methodB(){
database Update/Insert Operations.
save();
}
如上我在一個循環中調用的methodB從治法。如果任何來自循環的操作失敗或循環外部的數據庫操作失敗,那麼我期待着回滾的trasnastion,因爲methodA()
本身就是transactiona。
但我面臨的問題我看到數據得到承諾後數據庫立即methodB()
完成後,即使拋出異常從methodA()
rollBack。
我也嘗試刪除從methodB()
跨越,也試過propogation = NESTED/REQUIRED/MANDATORY
。但似乎沒有任何工作。
+1很好的解釋 – BDR