データベース内のデータへの変更の履歴を維持する必要があります。変更はあまり一般的ではないため、スペースの点でより効率的な差分だけでなく、行全体を格納しても問題ないようです。HibernateEnversはまともな解決策のようです。
ここで、Auditテーブルは、最初の挿入自体にデータを格納するシャドウテーブルに似ていることに気付きました。最初の更新が行われるまで、エンバーが監査情報を保存するのを防ぐことは可能ですか?非常に高性能なサーバーで実行していない可能性があるため、データベースのディスクフットプリントを削減したいだけです。実際のテーブルには最新のデータが含まれ、監査テーブルには現在の行ではなく履歴データのみが含まれるようにします。私はpersistence.xmlで特定の構成を使用していません。Hibernate 4.1は、アノテーションを使用した監査用のクラスを見つけているようです。私はポストインサートリスナーを扱うべきだと思いますが、それをどうするべきか正確にはわかりません。