jOOQ 不生成源
Posted
技术标签:
【中文标题】jOOQ 不生成源【英文标题】:jOOQ does not generate sources 【发布时间】:2018-12-31 10:42:43 【问题描述】:我正在尝试将 jOOQ 包含到我的代码中,但是没有生成任何代码。
执行mvn clean generate-sources
时,不会生成任何源。我希望它创建一个Category
类,它在下面的schema.sql
-file 中定义。
CREATE TABLE IF NOT EXISTS category (
id INTEGER IDENTITY PRIMARY KEY,
name VARCHAR(100),
description VARCHAR(2000),
age_group VARCHAR(20),
created DATETIME,
inserted BIGINT
);
我的 pom.xml 文件如下所示:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>spring-data-jdbc-jooq</artifactId>
<parent>
<groupId>org.springframework.data.examples</groupId>
<artifactId>spring-data-jdbc-examples</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<name>Spring Data JDBC - Usage with jOOQ</name>
<description>Sample project demonstrating Spring Data JDBC features</description>
<dependencies>
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq</artifactId>
<version>3.10.8</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jooq</artifactId>
<version>2.0.3.RELEASE</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.jooq</groupId>
<artifactId>jooq-codegen-maven</artifactId>
<version>3.10.8</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<jdbc>
<driver>org.hsqldb.jdbcDriver</driver>
<url>jdbc:hsqldb:mem:testdb</url>
</jdbc>
<generator>
<name>org.jooq.util.DefaultGenerator</name>
<database>
<name>org.jooq.util.hsqldb.HSQLDBDatabase</name>
<inputSchema>PUBLIC</inputSchema>
</database>
<target>
<packageName>example.springdata.jdbc.basics.simpleentity.domain</packageName>
<directory>$basedir/gensrc/main/java</directory>
</target>
</generator>
</configuration>
</plugin>
</plugins>
</build>
</project>
我假设应该创建一个目录gensrc
,其中包含适当的类。 maven 构建运行成功,没有任何错误。
你可以在this GitHub repository找到整个项目。
【问题讨论】:
【参考方案1】:您正在使用内存数据库:jdbc:hsqldb:mem:testdb
。当 jOOQ 代码生成器启动时,它会收到一个空的 new 数据库,而不是您可能在其他地方创建的数据库。
【讨论】:
非常感谢,这实际上是问题所在。改用DDL generator 修复它。以上是关于jOOQ 不生成源的主要内容,如果未能解决你的问题,请参考以下文章