可能已經有人問過了,但我沒有找到答案,所以我在問。
如果我有這個模式:
@Transactional
private methodA(List<Long> ids) {
// Call to DB
}
public methodB(List<Long> ids) {
// Operations that doesn't require DB calls
this.methodA(ids);
// Operations that doesn't require DB calls
}
方法 B 應該是事務性的嗎?如果不是,它會縮短交易持續時間嗎?
uj5u.com熱心網友回復:
交易是通過代理實作的。來自物件內部的呼叫(例如方法 B 中的代碼)不通過代理。
您可以擁有一個非事務性服務和一個事務性服務,并將事務性服務注入另一個,因此您可以從非事務性服務呼叫事務性方法并通過代理。這樣你就可以在你的交易中保持你想要的界限。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/365167.html
上一篇:通過id回傳一個專案
