2013-08-25 54 views
0

我正在使用Envers處理我的應用程序中的審計。我有多個用例,所以我僅限於確保我有一個代表我的整個應用程序的單個RevisionEntity(否則,我認爲對於多個實體來說,解決方案會更容易)。基本上,我想追蹤一個實體的多個實例作爲同一個修訂的一部分,理想情況下甚至包括其他實體作爲該修訂的一部分。Hibernate Envers - 一起審覈多個實體

基本上,一個實體(父級)的插入應該觸發修訂的開始,應該包含對一個實體的更新,並且還應該包括對第三個實體的插入或更新(在此一個修訂中)。

那麼這是否需要定製策略?我打算打破現有實體的戰略還是需要進行if/else檢查?

回答

0

每個修訂都捕獲在單個事務中完成的更改並且不可定製;也總是有一個修訂實體。

這個想法是數據庫始終在事務之前和事務提交之後處於「一致」狀態。這就是Envers想要捕捉的狀態。

因此,如果您在一個事務中修改多個實體,它們將全部在單個修訂中捕獲。