database - 在数据库中记录编辑历史的最佳方式是什么

标签 database database-design jakarta-ee jpa

我正在使用 Java EE 和 JPA 开发一个系统,用户可以在其中对实体进行更改。在需要的时候需要追溯变化。因此,每次更新时都必须记录所有更改和用户。记录更改的最佳方式是什么。

例如,有一个名为 Investigation 的实体。它具有名称、类别、价格、数量等属性。用户可以搜索单个调查并在一个实例中更改名称,而在另一个实例中,另一个用户可以更改价格。在需要时需要追溯所有这些更改完成的情况以及执行更改的用户。

link 中描述的一种方法是将对象标记为旧编辑并创建具有更新值的新对象,但问题是来自不同实体的其他几个对象引用旧对象。

link 中描述的另一种方法是在新表中使用版本控制字段。在 JPA 中可以通过创建一个扩展主实体的新实体来实现。

在这些方法中,最佳实践是什么? Java Persistence 中是否有其他优化的方式来保存记录编辑历史?

最佳答案

关于database - 在数据库中记录编辑历史的最佳方式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10007056/

相关文章:

java - 如何避免同时访问我网站中的付款链接

java - 通过执行器和可运行访问时,Tomcat 上下文为空

SQL将原始数据转换为汇总表?

asp.net - 什么是 aspnet_Users 和 aspnet_Membership?我应该使用哪一个?有什么区别?

database - stackoverflow 如何存储代码片段

database-design - 快速查找 100GB 数据

mysql - 数据库设计——存储多少数据,性能与质量

mysql - 传递 jdbc 数据源与传递 Connection 对象 - 从 servlet 到 java 类

java 将剩余部分发送到连接在同一 LAN 中的系统

java - DB2 和 Java。通过 GUI 将数据添加到数据库。