如果使用了schema,则不支持排除Java6的jooq 3.7.2

时间:2016-09-14 14:51:44

标签: java jooq

我无法排除'排除'使用连接到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>

1 个答案:

答案 0 :(得分:0)

您收到的警告可能与您指定的excludes标记无关。警告源在这里:

<schema>
    <inputSchema>myschema</inputSchema>
    <outputSchema>dest</outputSchema>
    <outputSchemaToDefault>true</outputSchemaToDefault>
</schema>
<schema>
    <inputSchema>otherschema</inputSchema>
    <outputSchema>dest</outputSchema>
    <outputSchemaToDefault>true</outputSchemaToDefault>
</schema>

您正在使用代码生成时架构映射(as documented here),将架构myschemaotherschema重定向到同一目标架构dest。如果你这样做,并且在两个模式中都有一个对象(例如一个表),你就会明白这种模糊性,而jOOQ不知道如何处理重复的类名。

就DB2别名而言,从jOOQ 3.8开始就不支持它们(参见https://github.com/jOOQ/jOOQ/issues/5564