2015-12-02 34 views
0

現在我必須在我的服務方法結束時調用JPA merge()來堅持更改。我這樣做是因爲我們的servlet在Locator.find()運行之前不啓動事務。他們稍後在服務方法中啓動它們。GWT RequestFactory定位器方法是否需要連接或分離傳入的JPA實體?

我知道RequestFactory使用我的Locator find()並根據客戶端發送給服務器的內容更新對象,所以我只是想知道該對象是否應該是附加對象,因此允許JPA處理更改「自然」而不是顯式調用merge()。

或者這也許只是取決於情況?

回答

1

我不知道JPA不多,但我確認您SHOULD範圍的交易爲您服務的方法:一個RequestContext是一個批處理可在每個成功或失敗獨立的請求,把它們放在一個單一交易將違反該原則。還有一些情況可以調用Localor#find,應用於實體的更改,但實體永遠不會傳遞給任何服務方法:在這種情況下,您不希望更改持續。

相關問題