gpt4 book ai didi

java - 如何使用 JOOQ 记录的更新来仅更新 jsonb 字段中嵌入的更改?

转载 作者:行者123 更新时间:2023-12-01 18:16:39 28 4
gpt4 key购买 nike

我已经从 JSONB 绑定(bind)到我的 POJO ( https://www.jooq.org/doc/latest/manual/code-generation/custom-data-type-bindings/ )

而且,我已经看到了 JOOQ 的 #5394 问题 ( https://github.com/jOOQ/jOOQ/issues/5394 ) 和临时解决方案。

现在我试图了解如何检测 POJO 内部的更改并使 JOOQ 仅使用 jsonb_set 更新这些更改

最佳答案

issue #5394您链接的内容与您的请求并不严格相关。 #5394 是关于普通的、规范化的 UpdatableRecord 实例,其中某些值不应自动考虑插入或更新。

就您而言,您正在使用 JSON 形式的嵌套数据结构。对于 jOOQ 来说,JSON 列是不透明的,并且没有任何嵌套结构的概念。如果您想引入此功能,您必须完全自己完成。但是,目前(jOOQ 3.13)您无法通过 UpdatableRecordrecord.store() 调用来执行此操作。您必须编写自己的 API,将此类记录更改转换为插入或更新语句。

我可以想到两种方法来做到这一点:

  • Using client side JSON comparison mechanisms (您可能也会找到基于 Java/POJO 的东西,但我认为在 JSON 级别上会更容易)
  • 使用服务器端触发器,通过增量更新替换完整 JSON 数据结构的更新。

关于java - 如何使用 JOOQ 记录的更新来仅更新 jsonb 字段中嵌入的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60351031/

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