当我尝试用jOOQ生成代码时,我得到了很多错误,比如:
Ambiguous type name :
The object pg_catalog.unnest generates a type org.jooq.example.gradle.db.pg_catalog.tables.Unnest
which conflicts with the existing type
org.jooq.example.gradle.db.pg_catalog.tables.Unnest on some operating systems.
Use a custom generator strategy to disambiguate the types.不确定操作系统应该如何处理它。以前从未使用过jOOQ。据我所知,它应该连接到Postgres db并生成一些java代码,这些代码稍后可以用来对该数据库运行查询。
我在build.gradle中有以下配置(取自https://www.jooq.org/doc/latest/manual/code-generation/codegen-gradle/)
// Use your favourite XML builder to construct the code generation configuration file
// ----------------------------------------------------------------------------------
def writer = new StringWriter()
def xml = new groovy.xml.MarkupBuilder(writer)
.configuration('xmlns': 'http://www.jooq.org/xsd/jooq-codegen-3.13.0.xsd') {
jdbc() {
driver('org.postgresql.Driver')
url('jdbc:postgresql://localhost:5432/metrics')
user('postgres')
password('pwd')
}
generator() {
database() {
}
// Watch out for this caveat when using MarkupBuilder with "reserved names"
// - https://github.com/jOOQ/jOOQ/issues/4797
// - http://stackoverflow.com/a/11389034/521799
// - https://groups.google.com/forum/#!topic/jooq-user/wi4S9rRxk4A
generate() {
}
target() {
packageName('org.jooq.example.gradle.db')
directory('src/main/java')
}
}
}
// Run the code generator
// ----------------------
org.jooq.codegen.GenerationTool.generate(writer.toString())作为一个初学者,我对这个错误感到不知所措。
发布于 2020-07-24 20:48:27
我必须设置模式
database() {
inputSchema('public')
}这就解决了问题。
https://stackoverflow.com/questions/63072042
复制相似问题