2016-08-01 77 views
-2

我正在開發Java Web JSF和Hibernate(DB MySQL)。我有一個表與產品字段(id,name,descriptionprice),假設已保存一個記錄任何(1, 'cd', 'bee gees', 11.90)。一旦保存,用戶將把註冊表更改爲(1 'dvd' 'bee gees', 15.90)。但是,新註冊將保存在新行(或新表)中,以跟蹤與產品代碼1相關的所有更改。有誰知道我該怎麼做?在Java + mysql項目中保留更新歷史

+0

您是否對現有的任何更改保存新記錄? – mady

+0

是的。每次更改的新記錄。 –

+0

然後您可以做一件事,您爲product_fields_history創建一個表(與product_fields相同)。第一次插入到product_fields表時,只需將相同的記錄插入到product_fields_history並更新product_fields,即可將新記錄插入到product_fields_history。最新變化將在product_fields中顯示,完整歷史記錄將顯示在product_fields_history中。 – mady

回答

1

我已經在我以前的項目中使用Hibernate Envers審覈和跟蹤修訂歷史記錄。

很簡單。只需在實體類中添加@Audited批註並使用AuditReader檢索更改歷史記錄,即可更新修訂歷史記錄。

請通過Hibernate Envers Docs瞭解詳細信息。