jooq-codegen-maven 插件无法解析 sql 查询

问题描述 投票:0回答:1

我在 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");


这是我必须生成对象的唯一方法,因为我无法从本地计算机连接到数据库,因此我无法在本地生成对象。

如何解决这个问题?

spring-boot jooq jooq-codegen-maven
1个回答
0
投票

我从查询中删除partitiong部分后解决了错误,因为它与jooq生成java对象无关。

© www.soinside.com 2019 - 2024. All rights reserved.