Java 如何使用JOOQ record';s update仅更新jsonb字段中的嵌入更改?

Java 如何使用JOOQ record';s update仅更新jsonb字段中的嵌入更改?,java,postgresql,kotlin,jooq,jsonb,Java,Postgresql,Kotlin,Jooq,Jsonb,我已经从JSONB绑定到我的POJO() 而且,我已经看到了JOOQ的#5394问题()和临时解决方案 现在,我试图了解如何检测POJO中的更改,并使JOOQ仅使用jsonb_集更新这些更改,您链接的内容与您的请求没有严格的关系#5394是关于普通的、标准化的updateableRecord实例,其中一些值不应自动考虑用于插入或更新 在本例中,您使用的是JSON形式的嵌套数据结构。对于jOOQ来说,JSON列是不透明的,没有任何嵌套结构的概念。如果你想引入这个功能,你必须完全自己去做。但是,当前

我已经从JSONB绑定到我的POJO()

而且,我已经看到了JOOQ的#5394问题()和临时解决方案

现在,我试图了解如何检测POJO中的更改,并使JOOQ仅使用jsonb_集更新这些更改,您链接的内容与您的请求没有严格的关系#5394是关于普通的、标准化的
updateableRecord
实例,其中一些值不应自动考虑用于插入或更新

在本例中,您使用的是JSON形式的嵌套数据结构。对于jOOQ来说,JSON列是不透明的,没有任何嵌套结构的概念。如果你想引入这个功能,你必须完全自己去做。但是,当前(jOOQ 3.13)无法使用
updateableRecord
record.store()
调用执行此操作。您必须编写自己的API,将这些记录更改转换为insert或update语句

我可以想出两种方法:

  • (您可能也会发现一些基于Java/POJO的东西,但我认为在JSON级别上会更容易)
  • 使用服务器端触发器,用增量更新替换完整JSON数据结构的更新