我在 spring-boot 项目中使用 jooq 使用 jooq-codegen-maven 插件从 sql 文件生成数据库对象,但在解析查询时遇到以下错误
不支持的查询类型:[23:2] ... json_data json , PRIMARY KEY (id,"date") )[*]按范围分区 ("date");
这是我的依赖项
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq</artifactId>
<version>3.19.11</version>
</dependency>
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq-meta-extensions</artifactId>
<version>3.19.11</version>
</dependency>
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq-codegen</artifactId>
<version>3.19.11</version>
</dependency>
maven 插件:
<plugin>
<groupId>org.jooq</groupId>
<artifactId>jooq-codegen-maven</artifactId>
<version>3.19.11</version>
<executions>
<execution>
<id>jooq-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<generator>
<database>
<name>org.jooq.meta.extensions.ddl.DDLDatabase</name>
<properties>
<property>
<key>scripts</key>
<value>src/main/resources/schema.sql</value>
</property>
<property>
<key>sort</key>
<value>semantic</value>
</property>
<property>
<key>unqualifiedSchema</key>
<value>none</value>
</property>
<property>
<key>defaultNameCase</key>
<value>as_is</value>
</property>
</properties>
</database>
</generator>
</configuration>
</plugin>
sql查询:(alloydb postgres)
-- trimmed unnecessary columns from query
CREATE TABLE IF NOT EXISTS public.reg_dereg_new
(
id serial NOT NULL,
"date" date NOT NULL,
json_data jsonb , PRIMARY KEY (id,"date")
)partition by range ("date");
这是我必须生成对象的唯一方法,因为我无法从本地计算机连接到数据库,因此我无法在本地生成对象。
如何解决这个问题?
我从查询中删除partitiong部分后解决了错误,因为它与jooq生成java对象无关。