gpt4 book ai didi

java - 最佳实践确认第二人称数据更改

转载 作者:行者123 更新时间:2023-12-01 17:30:12 25 4
gpt4 key购买 nike

我正在寻找最佳实践/设计模式来允许更改数据库中的数据。

需求是A想要更新一些数据。例如电子邮件、地址或公司名称。在乙检查并确认这些更改之前,甲的所有更改都不会在网页上可见。数据存储在数据库中。我现在的问题是数据库的最佳实践/设计模式是什么?复制数据库并通过commit复制数据到对方?仅一个数据库并复制整个数据集,并在该额外列中更改值和标签(必须检查)。

我尝试通过 Google 查找一些内容,但我认为我没有使用正确的流行语。

我唯一的流行词是四眼原理,解决方案是像 camunda 这样的工作流引擎或使用 dms 或 ecm。

必须有一个简单的解决方案来解决该问题,还是该问题如此罕见?

感谢您的帮助。

PS.:用户在网站上更改数据,而不是直接在数据库中更改。

最佳答案

您必须设计一个数据结构,例如“通用订单”或“通用作业”。在这里您将有一个描述作业或订单的主表。这些字段是:

job_id
created_at
created_by
job_ident
job_name
permit_at
permit_by

任何作业/订单都有一组键/值数据。其模型如下:

job_id (fk_job_id)
key
value

每项工作都必须有一个实现。所以键值对的解释取决于这个实现。当用户允许与当前作业或订单相关的更改时,该实现将由用户触发。

通用模型允许您拥有一种数据结构,无论您的应用程序有任何表。

您还可以从数据库的事务日志中汲取一些灵感。请注意,更改是有顺序的。这样您就可以检测冲突。

但是,您可以增强上述数据结构以锁定实体直至获得批准。

您还可以查看 spring-batch,其中有类似的数据结构和处理。

请参阅 apache Camel 项目。也许你也可以使用 apache-camel。

关于java - 最佳实践确认第二人称数据更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61137138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com