5
我正在使用Hibernate Envers來審計我的實體和屬性(org.hibernate.envers.global_with_modified_flag=true
)。這似乎工作,但現在我想要得到一個特定的實體,在給定的修訂版相比,更改前的一個屬性。作爲獎勵,將變更集從一個修訂版轉移到另一個修訂版會很好。到目前爲止,我只得到了修改實體:通過修訂獲取修改的屬性
List<Object> modifiedClassesAtRevision = getAuditReader().getCrossTypeRevisionChangesReader().findEntities(revision, RevisionType.MOD)
Object modifiedObject = modifiedClassesAtRevision.get(0);
現在,因爲我不希望創建Java中所有實體的比較方法,有沒有什麼辦法讓這個版本的修改的屬性?東西沿線
List<String> modifiedProperties = getAuditReader().getModifiedProperties(modifiedObject, revision);
會很高興有 - 但也許我太愚蠢,找不到那種功能。
謝謝,我已經看到了查詢選項,只是不確定是否更改屬性的列表只是沒有在文檔中提及或者實際上是否丟失。現在我知道它是後者;-)作爲解決方法,我獲取舊版本和新版本,並使用BeanUtils和PropertyUtils遍歷所有屬性並比較它們的值。不好,但現在起作用。 :-) – 2013-02-13 20:45:28