6

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);

あればいいのですが、そのような機能を見つけるには私が愚かすぎるのかもしれません。

4

1 に答える 1

4

現在、プロパティが変更されたエンティティのみをクエリできます。http://docs.jboss.org/hibernate/core/4.1/devguide/en-US/html/ch15.html#envers-envers-tracking-propertiesを参照してください。 -変更-クエリ

プロパティが変更された記述子(チェンジセット)を取得することはまだできません。

于 2013-02-13T11:56:45.927 に答える