JOOQ 3.1 生成的文件名与类名不同导致编译错误

JOOQ 3.1 generated filenames are different to the classname causes a compilation error

正在生成 oracle 数据库。由于命名原因,oracle 包中有两个函数无法编译。 EG 在 pkg 中有一个 pl/sql 函数 get_minutes,它生成为 Getminutes.java,但 class 名称是 GetMinutes,这会导致编译器错误:

class GetMinutes is public - should be declared in filename GetMinutes.java.

从字面上看,正确生成了 100 个其他函数。
知道为什么生成在这里下降了吗?

jOOQ 默认将数据库中常见的 UPPER_CASE_WITH_UNDERSCORES 命名模式转换为 Java 中更常见的 PascalCase class 命名模式。当具有非常相似名称的过程、表等之间存在命名冲突时,这显然会导致问题。

出于这个原因,jOOQ 的代码生成器附带了生成器策略,它允许您在生成 class、常量、引用、成员、方法等名称时连接到代码生成器。有两种配置这些策略的方法:

配置这些策略以输出与数据库中完全相同的所有名称相对容易。 jOOQ 3.8 也将为这种行为提供开箱即用的策略(参见 #3570)。