我有兩個審計實體A和B.實體A擁有實體B的集合(註釋爲一對多關係)。當向數據庫中插入一個新的A實例時,A和B的所有行都處於相同的修訂版本(假設版本1)。然後,A上的更新隻影響實體B的實例。因此,在更新之後,實體A仍處於修訂版本1,而B的實體處於修訂版本2(包括審計表中的MOD條目) 。在修訂版3中,實體A被刪除。由於實體B的集合由@Cascade註釋,因此屬於A的實體B也被刪除。Hibernate Envers:使用集合屬性檢索實體的正確修訂
鑑於此場景,如何使用Envers創建一個審計查詢,獲取具有修訂版本2的更新實體B的實體A的實例?當我查詢實體A的所有修訂版本時,我要麼獲得不包含B實體(修訂版本3)的A的已刪除實體,要麼獲得包含修訂版本1的B實體的修訂版本1的A。
使用Hibernate 3.6,如果有幫助。
涉及到http://計算器。 com/questions/10697945/hibernate-envers-track-revisions-the-owned-on-a-onetomany-relation和http://stackoverflow.com/questions/10529982/how-to-retrieve-the-審計修訂的關係 – Jean 2012-06-28 12:04:36