3

2 つの問題を解決するためにHibernate Enversを検討しています。まず、監査です。2 つ目は、リビジョンで行われた変更をロールバックする機能です。これはによって実装されます

  • リビジョンで変更されたすべてのエンティティを見つける
  • 各エンティティの対応する以前のバージョンを見つける
  • 行った変更を効果的に元に戻す新しいバージョンを作成する (new->delete、delete->new、update->update)
  • 新しいオブジェクトをコミットする

ただし、特定のリビジョンのエンティティのリストを照会する方法がわかりません。グローバルレベルではなく、クラスレベルでそれを行うメソッドがあります。これは可能ですか?

4

1 に答える 1

1

リストを照会するとはどういう意味ですか? クエリ テーブル -

http://docs.jboss.org/hibernate/core/3.6/javadocs/org/hibernate/envers/query/AuditQueryCreator.html#forEntitiesAtRevision(java.lang.Class, java.lang.Number)

forEntitiesAtRevision(java.lang.Class, java.lang.Number)

クエリ リスト - Java コードでフィルタリングを実装します。

リビジョン番号は取引番号です。エンティティ番号のバージョンではありません。これは、トランザクション内のエンティティのバージョンを表す番号です。

エンティティのリビジョンのリストを見つける必要がある場合は、エンティティのリストを反復処理して、クエリでリストからそれぞれのリビジョンを見つけることができますforEntitiesAtRevision(java.lang.Class, java.lang.Number)

于 2011-12-27T09:08:37.820 に答える