這個問題已經在討論here,但是,它並沒有解決我的問題。Hibernate Envers:如何從我的審計表中刪除條目?
讓我們來簡單的審計類人與一些字符串信息,如姓名等,並與字符串電子郵件地址列表。現在我想從數據庫中刪除特定的人員及其所有修訂版本。我知道,這不是Envers常見的用例,但它對我的項目至關重要。我明白了,我可以使用這樣的事情:
然而,這並不會刪除:
「PERSONID從full.package.name.Person_AUDü其中u.originalId.id =刪除」在電子郵件表中與這個人相關的記錄,因爲這個關係沒有限制。或者我做錯了什麼?
我也在考慮從REVINFO表中刪除記錄(在審計表中有關於REVINFO表的約束),但這不是安全的,因爲在一個事務中可以有更多的實體被修改,因此更多的實體可能有相同的版本號。
我的問題是:是否有任何簡單的方法從任何人的所有審計表中刪除所有記錄?
不幸的是上面的例子只是簡單的例子。我們的實際應用程序要複雜得多,建議的解決方案不易實現。 – ferou 2012-08-17 08:17:22