2012-04-03 65 views
3

我有一個應用程序,我在玩遊戲!帶有一些我希望跟蹤更改的數據的框架。在企業解決方案中,我可能會使用數據庫觸發器將更改複製到歷史記錄表以跟蹤這些更改。我不熟悉Play!/ JPA中的類似範例,但也許我錯過了一些東西。除了創建所有實體的副本並手動將舊/未更改記錄中的數據複製到歷史記錄,然後將更改保存到原始模型中,是否有一種體面的方式可以完成此操作?玩!框架歷史數據更改

回答

1

如果您的數據對於保持所有數據更改非常重要,我會堅持使用觸發器。因爲數據庫正在執行更新,所以在運行Web應用程序的集羣中不可能有clock skew,並且如果非JPA客戶端訪問數據庫,那麼您也可以保持更新。

不過,如果你不是那麼obsesive這些種類的擔憂比我建議你魔EntityListener S,從而爲:

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

在這裏,你可以找到如何使用EntityListener例子,