2012-04-03 44 views
3

我有一个应用程序,我在玩游戏!带有一些我希望跟踪更改的数据的框架。在企业解决方案中,我可能会使用数据库触发器将更改复制到历史记录表以跟踪这些更改。我不熟悉Play!/ JPA中的类似范例,但也许我错过了一些东西。除了创建所有实体的副本并手动将旧/未更改记录中的数据复制到历史记录,然后将更改保存到原始模型中,是否有一种体面的方式可以完成此操作?玩!框架历史数据更改

回答

1

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

不过,如果你不是那么obsesive这些种类的担忧比我建议你魔EntityListener S,从而为:

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

在这里,你可以找到如何使用EntityListener例子,