[英]jooq 3.7.2 for Java6 doesn't exclude if schema is used
我无法让'排除'与连接到db2的许可jooq 3.7.2(java 6)一起工作。 尝试了不区分大小写的版本。 我错过了什么? 我只是想忽略schema myschema中的别名,指向其他表中的其他表。 我收到警告'不明确的类型名称:对象X生成一个类型#fully限定类名#,它与现有类型#fully qualified class name#'冲突。 以前有人遇到过这个问题吗?
<generator>
<name>org.jooq.util.DefaultGenerator</name>
<database>
<name>org.jooq.util.db2.DB2Database</name>
<includes>.*</includes>
<excludes>myschema\.alias</excludes>
<schemata>
<schema>
<inputSchema>myschema</inputSchema>
<outputSchema>dest</outputSchema>
<outputSchemaToDefault>true</outputSchemaToDefault>
</schema>
<schema>
<inputSchema>otherschema</inputSchema>
<outputSchema>dest</outputSchema>
<outputSchemaToDefault>true</outputSchemaToDefault>
</schema>
</schemata>
</database>
<target>
<packageName>org.comp.model</packageName>
<directory>target/generated-sources/jooq</directory>
</target>
</generator>
您获得的警告可能与您指定的excludes
标记没有任何关系。 警告源在这里:
<schema>
<inputSchema>myschema</inputSchema>
<outputSchema>dest</outputSchema>
<outputSchemaToDefault>true</outputSchemaToDefault>
</schema>
<schema>
<inputSchema>otherschema</inputSchema>
<outputSchema>dest</outputSchema>
<outputSchemaToDefault>true</outputSchemaToDefault>
</schema>
您正在使用代码生成时模式映射( 如此处所述 ),将模式myschema
和otherschema
重定向到相同的目标模式dest
。 如果你这样做,并且在两个模式中都有一个单独的对象(例如一个表),你会得到这种歧义,其中jOOQ不知道如何处理重复的类名。
就DB2别名而言,从jOOQ 3.8开始就不支持它们(参见https://github.com/jOOQ/jOOQ/issues/5564 )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.