我将 JOOQ 与 Postgresql 一起使用,其中有几列 JSONB 类型。直接在数据库本身上使用 JOOQ 代码生成器(使用 org.jooq.util.postgres.PostgresDatabase)工作得很好,所有生成的类都使用 JSONB 类型。
但是,当通过 SQL 脚本切换到代码生成时(使用 org.jooq.meta.extensions.ddl.DDLDatabase,如下所述:https://www.jooq.org/doc/latest/manual/code-generation/codegen -ddl),代码生成器将所有 JSONB 列转换为 JSON 类型。
如何让代码生成器保留 JSONB 类型?
所以显然DDL生成器使用的H2数据库只能报告JSON类型,强制类型解决了我的问题:
<forcedType>
<name>JSONB</name>
<includeTypes>JSON</includeTypes>
</forcedType>