Envers - Easy Entity Versioning

JBoss.org の新しいプロダクト

JPA の永続化クラスの履歴を、自動的に別テーブルに蓄積してくれる。使い方も簡単で、ただ単にバージョニングの対象としたいプロパティに注釈 @Versioned を付ければ OK。単一のトランザクションごとに単一のリビジョンを付与するので、ある時点でのデータベース全体の姿を再現することも可能っぽい。

履歴テーブルの管理は割と頭を悩ませる問題だけど、そのような局面にも対応可能かどうか、ちょっと評価してみる価値はありそう。