如何通过扩展 jOOQ 的 DefaultGeneratorStrategy 更改 Table class 名称?

How can I change the Table class names using the by extending jOOQ's DefaultGeneratorStrategy?

我正在使用 jooq codgen gradle 插件来更改生成的 table 的命名约定,以在 class 名称的末尾包含 Table。但是,我不确定如何区分 table 和生成器中的架构。

我的命名替代是:

@Override
public String getJavaClassName(Definition definition, Mode mode) {
    String result = super.getJavaClassName(definition, mode);
    if (mode == Mode.DEFAULT) {
        result += "Table";
    }
    return result;
}

有没有办法确定当前对象是否扩展 TableImpl 或者我是否需要采取不同的方法?

只需对您的 definition 使用 instanceof 检查,就像这样:

@Override
public String getJavaClassName(Definition definition, Mode mode) {
    String result = super.getJavaClassName(definition, mode);
    if (mode == Mode.DEFAULT && definition instanceof TableDefinition) {
        result += "Table";
    }
    return result;
}