2011-12-01 15 views
0

我想記錄一些實體的變化。 所以我使用了hibernate攔截器的onflushdirty。休眠得到舊/新的審計日誌

但以前的狀態始終是空或空

一些搜索後,我發現2種方式來獲得老/前值:

1再次打開一個新的臨時會話,並找到豆

2-爲了使previousStates []不爲空我必須使用合併而不是保存/更新。 (實際上不確定這是否屬實,不知道實際系統的行爲會發生什麼......)

有沒有其他更好的方法來做到這一點?

回答

0

如果您只是使用您創建的對象調用update,則以前的狀態將爲空。你應該首先加載/獲取對象,然後改變它的屬性(在我們的常規代碼中不在攔截器中),在這樣做的時候你會得到先前的狀態。合併達到同樣的目的。

+0

謝謝,那正是我想知道的! – Kossel