Java 从文件生成JOOQ架构
是否可以使用JOOQ从sql文件生成Java类而无需数据库连接? 我试图指定inputSchema标记,但出现异常:Java 从文件生成JOOQ架构,java,jooq,Java,Jooq,是否可以使用JOOQ从sql文件生成Java类而无需数据库连接? 我试图指定inputSchema标记,但出现异常: WARNING: SQL exception : Exception while executing meta query: Cannot execute query. No Connection configured 我的配置如下所示: <configuration> <generator>
WARNING: SQL exception : Exception while executing meta query: Cannot execute query. No Connection configured
我的配置如下所示:
<configuration>
<generator>
<database>
<name>org.jooq.util.postgres.PostgresDatabase</name>
<inputSchema>filesystem:src/main/resources/schema.sql</inputSchema>
<includes>.*</includes>
<outputSchemaToDefault>true</outputSchemaToDefault>
</database>
<target>
<packageName>pckg.some</packageName>
<directory>target/generated-sources/jooq</directory>
</target>
</generator>
</configuration>
org.jooq.util.postgres.PostgresDatabase
文件系统:src/main/resources/schema.sql
.*
真的
几公斤
目标/生成源/jooq
是的,你可以做这样的事情,尽管不是你期望的方式。首先,jOOQ不允许您以这种方式解析SQL语句和派生模式元信息。对于目前支持的所有20个RDBMS来说,这将是一种复杂的实现方式
但是,您有两种选择:
1.在生成代码之前运行SQL文件
如果SQL文件与数据库供应商无关,则可以在嵌入式数据库中运行该文件,如,然后从该数据库运行代码生成器
这篇博文中描述了类似的方法,其中使用JPA注释的Java文件使用Hibernate生成这样的模式,然后运行jOOQ生成器:
2.使用中间XML文件
jOOQ支持从XML文件(或其他元源)加载模式元信息。从手册中:
org.jooq.util.oracle.oracle数据库
要送入XMLDatabase
的XML文件的XSD模式可在此处找到:
另见: