使用 Spring,我達到了以下場景。我有一個必須的服務,@Transactional因為它調用多個 DAO。但它也調用其他已經存在的服務@Transactional。不知何故,我將調用嵌套@Transactional服務。Spring會管理得好嗎?
1 回答

蝴蝶不菲
TA貢獻1810條經驗 獲得超4個贊
@Transactional
沒有任何顯式參數使用propagation = REQUIRED
. 這意味著:
如果當前線程中沒有事務,則會創建一個新事務
如果有交易,就會使用
注釋的第二個服務(嵌套服務)@Transactional
將在與第一個服務(外部服務)相同的事務中執行。你不需要做任何事情。
在某些情況下,如果您想顯式地將嵌套調用與外部調用分開,您可以使用propagation = REQUIRES_NEW
.
添加回答
舉報
0/150
提交
取消