A と B の 2 つの監査済みエンティティがあります。エンティティ A は、エンティティ B のコレクションを保持しています (1 対多の関係として注釈が付けられています)。A の新しいインスタンスをデータベースに挿入すると、A と B のすべての行が同じリビジョン (リビジョン 1 としましょう) になります。次に、エンティティ B のインスタンスにのみ影響する A の更新があります (カスケード タイプはマージです)。したがって、更新後、エンティティ A はまだリビジョン 1 のままですが、B のエンティティはリビジョン 2 (監査テーブルの新しい MOD エントリ) です。
問題は、A のすべてのリビジョンを取得するときに、2 つのリビジョンが返されることを期待することです。1 つは作成用、もう 1 つは所有する B のコレクションの変更用です。ManyToMany の場合でもこの動作を取得できますが、 OneToMany 関係と同じように機能しないでください。
(私は Hibernate 3.6.10-Final を使用しています)