我正在尝试将jOOQ包含在我的代码中,但是未生成任何代码。
执行mvn clean generate-sources
时,不生成任何源。我希望它创建一个Category
类,该类在以下schema.sql
文件中定义。
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中找到整个项目。
答案 0 :(得分:1)
您正在使用内存数据库:jdbc:hsqldb:mem:testdb
。当jOOQ代码生成器启动时,它将接收到一个空的 new 数据库,而不是您可能在其他地方创建的数据库。