Как реализовать журнал изменений с JPA? - PullRequest
5 голосов
/ 21 апреля 2011

У меня есть класс сущностей, управляемый с помощью JPA, и у меня есть одна сущность, которая должна регистрировать изменения в своем свойстве.Предоставляет ли JPA какие-либо способы справиться с такого рода требованиями?

Ответы [ 2 ]

4 голосов
/ 21 апреля 2011

Если вы используете Hibernate в качестве поставщика JPA, взгляните на Hibernate-Envers .

Если вы используете Spring, то у Hades или его преемника Spring-Data-JPA .

Оба (Envers и Hades / Spring-Data-JPA) предоставляют функции аудита. Hibernate Envers очень мощный, а Hades / Spring-Data-JPA более легок ( справочник Hades, аудит главы ).

Если вы не хотите / не можете использовать какой-либо из них, возможно, вам придется подключиться к жизненному циклу сущности. с @ PostUpdate и со

2 голосов
/ 21 апреля 2011

См

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

и

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

Если вы используете EclipseLink, он включает историческую поддержку. Вы можете включить отслеживание всех изменений в классе в отдельной исторической таблице.

...