我有一个我在Play中构建的应用程序!我希望跟踪的一堆数据的框架变化。在企业解决方案中,我可能会使用数据库触发器将更改复制到历史表以跟踪这些更改。我对Play!/ JPA中的类似范例并不熟悉,但也许我错过了一些东西。除了我创建所有实体的副本并手动将数据从旧/未更改的记录复制到历史记录,然后将更改保存到原始模型之外,还有其他方法吗?
答案 0 :(得分:1)
如果数据对于保持所有数据更改至关重要,我会坚持使用触发器。因为数据库正在执行更新,因此运行Web应用程序的集群中不可能有clock skew,并且如果非JPA客户端访问数据库,那么您也可以保留更新。
但是,如果你不是那么关注这些问题而不是我建议你使用魔术EntityListener
,例如:
您可以在此找到如何使用EntityListener,
的示例答案 1 :(得分:0)
如果您使用EclipseLink JPA,则可以启用历史记录支持。
请参阅, http://wiki.eclipse.org/EclipseLink/Examples/JPA/History