【问题标题】:Keep update history in Java + mysql project在 Java + mysql 项目中保留更新历史
【发布时间】:2016-12-06 10:21:09
【问题描述】:

我正在开发 Java Web JSF 和 Hibernate (DB MySQL)。我有一个包含产品字段的表(idnamedescriptionprice),假设它保存了任何(1, 'cd', 'bee gees', 11.90) 的记录。保存后,用户会将注册表更改为(1 'dvd' 'bee gees', 15.90)。但是,新注册将保存在新行(或新表)中,以跟踪与产品代码 1 相关的所有更改。有人知道我该怎么做吗?

【问题讨论】:

  • 您是否正在保存对现有记录的任何更改的新记录?
  • 是的。每次更改都有新的录音。
  • 然后你可以做一件事,为product_fields_history(和product_fields一样)再创建一张表。第一次插入 product_fields 表时,只需将相同的记录插入 product_fields_history 并在更新 product_fields 时将新记录插入 product_fields_history。最新更改将在 product_fields 中,完整历史记录将在 product_fields_history 中。

标签: java mysql hibernate


【解决方案1】:

我在以前的项目中使用 Hibernate Envers 审核和跟踪修订历史记录。

这很简单。只需在实体类中添加 @Audited 注释即可更新修订历史记录,并使用 AuditReader 检索更改历史记录。

通过Hibernate Envers Docs了解详细信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 2018-05-01
    • 2012-01-09
    • 2015-11-17
    相关资源
    最近更新 更多