我有一个由 JPA 管理的实体类,并且我有一个需要在其属性中记录更改的实体。JPA 是否提供任何方法来处理这种需求?
问问题
5644 次
2 回答
4
如果您使用 Hibernate 作为 JPA 提供程序,请查看Hibernate-Envers。
如果您使用 Spring,则在Hades或其继任者Spring-Data-JPA中使用。
两者(Envers 和 Hades/Spring-Data-JPA)都提供审计功能。Hibernate Envers 非常强大,而 Hades/Spring-Data-JPA 更轻量级(Hades 参考,章节审核)。
如果您不想/不能使用它们中的任何一个,那么您可能必须挂钩实体生命周期。与@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 回答