2017-04-10 73 views
-1

所以今天我們討論了一段代碼。 我們在彈簧服務中有一個@transactional方法。我需要的風格1. 在我implemtation我需要這樣的東西:@循環和DB持久風格的交易方法

1. @Transactional 的(每個):repository.persistObjectOneByOne(對象)

2. @Transactional repository.persistList(名單)

樣式1是否非常錯誤,或者hibernate/spring-data將在一個快速且良好的連接中處理它?

回答

1

如果你的服務方法是用Transactional註解的(這在我看來是正確的事情),那麼這兩種風格對於提交都是一樣的,整個業務單元將被包裝在事務中,這意味着所做的任何操作都不會承諾,除非交易完成。

關於在這兩種情況下的速度,Spring Data jpa將持續不同查詢中的每個對象。

+0

我今天也出去玩,我當時90%肯定,但沒有看看jpa save後面的代碼。你是99%還是100%確定? – strash

+0

這不是在保存之後,它的事務概念,更改將不可見,直到爲事務執行提交 –