默认情况下,jOOQ会将所有标识符包装在引号中,以便能够正确处理区分大小写的情况。
令人困惑的部分是为什么这么做并不是为了做到
DSL.field(String)而是为了做到
Field.as(String)。原因是jOOQ都将String类型重新用于这两个类型:
- 如中的普通SQL所示
DSL.field(String)
,其中输入的String并不真正表示标识符,而是任意的SQL表达式 - 如中的标识符
DSL.name(String)
,其中输入String表示名称/标识符。还DSL.fieldByName(String)
可以创建Field
由(模式)/表/列标识符组成的类型。
为了从所有生成的标识符中删除引号,您还可以将更
Settings.renderNameStyle改为
RenderNameStyle.AS_IS。
有关更多信息,请
Settings参见此处。



