gpt4 book ai didi

java - 用于管理顺序命令列表的数据结构/Java 技术

转载 作者:行者123 更新时间:2023-12-04 05:06:08 26 4
gpt4 key购买 nike

我不确定这个用例是否存在一些特殊的东西 - 但感觉就像有人可能已经制作了某种有用的结构/技术/设计模式。

我的情况

  • 我有一组从中间层 (Java) 执行的 SQL 命令,用于通过来自相关临时表的连接将数据插入/更新/删除到一组非常大的表中的任何一个。
  • 我有更多 SQL 命令,它们根据暂存表/实际表内容更新各种派生表。不同的表将通过不同的查询(像往常一样)与不同的派生表进行交互。根据用例,这些命令可能必须与第一组交错 - 因此,我不一定一次执行 set 1 然后 set 2。

  • 我的问题

    因此,我需要构建一系列按顺序执行的命令,如果其中任何一个失败,我需要触发回滚。我想以最清晰、有记录的方式来做这件事。

    有谁知道编码的标准方法?我确信任何从存储过程代码迁移到中间层代码的人以前都这样做过,如果有好的选择,我不想重新发明轮子。

    附加信息

    我的主要关注点之一是让一切都清楚。为了详细说明,我将有一组专门用于以下目的的查询:
  • 截断临时表 A' 并用主键填充它以删除记录
  • 基于与 A 的连接从实际表 A 中删除
  • 截断临时表 A' 并用完整数据填充它以进行更新
  • 基于连接更新/插入从 A' 到 A 的记录

  • 相同的逻辑适用于表 B、C、D 等。不幸的是,可能只有 A 和 C 需要额外的步骤,例如将删除同步到某个派生表,在删除之后但在删除之前完成插入。

    我显然想对更新表的所有逻辑进行分组,我也想对更新派生表的所有逻辑进行分组,但在执行时它们必须智能地交错,这对我来说听起来很困惑。

    最佳答案

    不要自己写这样的东西。这是什么JTA为。

    您可以使用 JPASpring去做。

    将工作单元注释为事务性的,并让数据库和 JDBC 处理它。

    如果您必须自己做,请遵循面向方面的方法并使其成为装饰性的“前后”实现。

    关于java - 用于管理顺序命令列表的数据结构/Java 技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15509026/

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