玩!框架历史数据更改

时间:2012-04-03 15:21:43

标签: jpa playframework

我有一个我在Play中构建的应用程序!我希望跟踪的一堆数据的框架变化。在企业解决方案中,我可能会使用数据库触发器将更改复制到历史表以跟踪这些更改。我对Play!/ JPA中的类似范例并不熟悉,但也许我错过了一些东西。除了我创建所有实体的副本并手动将数据从旧/未更改的记录复制到历史记录,然后将更改保存到原始模型之外,还有其他方法吗?

2 个答案:

答案 0 :(得分:1)

如果数据对于保持所有数据更改至关重要,我会坚持使用触发器。因为数据库正在执行更新,因此运行Web应用程序的集群中不可能有clock skew,并且如果非JPA客户端访问数据库,那么您也可以保留更新。

但是,如果你不是那么关注这些问题而不是我建议你使用魔术EntityListener,例如:

  • @PrePersist
  • @PreUpdate
  • @PreRemove
  • @PostPersist
  • @PostUpdate
  • @PostRemove

您可以在此找到如何使用EntityListener

的示例

答案 1 :(得分:0)

如果您使用EclipseLink JPA,则可以启用历史记录支持。

请参阅, http://wiki.eclipse.org/EclipseLink/Examples/JPA/History