5

JPAで管理されているエンティティクラスがあり、プロパティの変更をログに記録する必要があるエンティティが1つあります。JPAは、この種の要件を処理する方法を提供しますか?

4

2 に答える 2

4

Hibernate を JPA プロバイダーとして使用する場合は、Hibernate-Enversを参照してください。

Spring を使用している場合は、Hadesまたはその後継の Spring-Data-JPAを使用してください。

両方 (Envers と Hades/Spring-Data-JPA) は監査機能を提供します。Hibernate Envers は非常に強力で、Hades/Spring-Data-JPA はより軽量です ( Hades リファレンス、チャプター auditing )。

それらのいずれも使用したくない/使用できない場合は、エンティティのライフサイクルにフックする必要がある場合があります。@PostUpdateと共同で。

于 2011-04-21T10:39:35.257 に答える
2

見る、

http://en.wikibooks.org/wiki/Java_Persistence/Advanced_Topics#History

と、

http://en.wikibooks.org/wiki/Java_Persistence/Auditing_and_Security

EclipseLink を使用している場合は、これまでのサポートが含まれています。クラスのすべての変更を別の履歴テーブルで追跡できるようにすることができます。

于 2011-04-21T13:03:01.360 に答える