gpt4 book ai didi

java - JOOQ 代码生成器跳过包含 JsonNode 字段的类

转载 作者:行者123 更新时间:2023-11-30 12:05:13 25 4
gpt4 key购买 nike

我目前正在开发一个项目,该项目使用 JOOQ 与 Postgres 进行 sql 事务处理。但是其中一个模型有一个 JsonNode 类型的字段(postgres 中的 jsonb )。 JOOQ 代码生成器不支持这个,所以我添加了一个自定义绑定(bind),它应该可以解决问题,但即使加载了绑定(bind),它也永远不会应用于特定模型,生成器只是跳过这个模型。

我的堆栈(在演示中)是:JOOQ hibernate jackson 。

演示项目提供了两个模型,一个有效,一个带有 JsonNode,以显示生成器实际运行并扫描模型,但跳过包含 JsonNode 字段的模型。

我已经在 forcedType 表达式字段中尝试了多种名称:.simplename. , .SIMPLENAME., .impl., . IMPL., .json., .JSON., .jsonb., .JSONB.,

试图设置 sql 绑定(bind)到::json ,::jsonb,::_jsonb

尝试将寄存器类型设置为 Types.VARCHAR、Types.OTHER、Types.JAVA_OBJECT

以下 repo https://github.com/mmichailidis/JooqDemo包含重现问题的项目

预期的输出是在 jooq 生成的文件夹中生成两个模型,但只生成没有 JsonNode 的模型。

最佳答案

您正在使用 JPADatabase:https://www.jooq.org/doc/latest/manual/code-generation/codegen-jpa

按照目前的实现方式,您无法在实体本身被编译的同一 Maven 阶段中使用 JPADatabase 处理您的实体。它们在 JPADatabase 的类路径中尚不可用。您必须将您的实体提取到一个单独的项目中,并在第二步中生成 jOOQ 代码。

您可能会看到其中一个模型的原因可能是因为您之前已经通过其他方式在本地存储库中安装了它们。

关于java - JOOQ 代码生成器跳过包含 JsonNode 字段的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56478042/

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