gpt4 book ai didi

java - DB 事务分组 - Spring,java - 寻找设计思路

转载 作者:行者123 更新时间:2023-12-01 21:16:45 24 4
gpt4 key购买 nike

正在使用 Spring REST Controller 、Spring JDBC 和 RDBMS 构建应用程序。该服务将在单个事务边界内执行多个数据库操作。我们需要识别作为同一事务的一部分插入的行,以供将来报告。

建议的解决方案

  • 在所有数据库表中创建 Transaction_Grp 列
  • 在所有实体对象上添加字段 transactionGroup
  • 在Service方法中,生成一个唯一的id并将其设置为方法内使用的所有实体对象上的 transactionGroup事务边界。
  • 将相同的 transactionGroup 值插入到所有数据库表中是同一交易的一部分。

有更好的解决方案/想法吗?

谢谢

最佳答案

你的做法是正确的。 Batch_ID 或 Transaction_Group_ID 可以引入到所有 DML 操作需要跟踪和处理的所有表(实体)中。

许多人认为这会导致不必要的信息污染主表。因此,我们必须完全颠覆这种方法。人们可以引入一张表,该表将所有表(实体)的主键和实体名称映射到该表中的 ID。换句话说,可以引入一个名为transaction_groups的表,其中包含transaction_group_id、participant_entity_id和participant_entity_name,并将所有信息映射到该表中。

选择是你的!!

关于java - DB 事务分组 - Spring,java - 寻找设计思路,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58867540/

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