DB事务分组Spring,java寻找设计思路
正在使用SpringREST控制器、SpringJDBC和RDBMS构建应用程序。 该服务将在单个事务边界内执行多个DB操作。我们需要识别作为同一事务的一部分插入的行,以便将来进行报告
提议的解决办法
- 在所有数据库表中创建事务\u Grp列
- 在所有实体对象上添加字段transactionGroup
- 在服务方法中,生成唯一id并将其设置为 方法中使用的所有实体对象上的transactionGroup 交易边界李>
- 将相同的transactionGroup值插入到所有 是同一交易的一部分李>
有没有更好的解决方案/想法
多谢各位
# 1 楼答案
你的方法是正确的。批处理ID或事务组ID可以引入所有DML操作需要跟踪和处理的表(实体)
许多人认为这会导致不必要的信息污染主表。因此,我们必须彻底扭转这种做法。可以引入一个表,将所有表(实体)的主键和实体名称映射到此表中的id。换句话说,可以引入一个名为transaction_groups的表,其中包含transaction_group_id、participant_entity_id和participant_entity_name,并映射该表中的所有信息
选择属于你