如何使用Jooq查询列不区分大小写?

我用PostgreSQL使用jOOQ,并且我意识到我的列是区分大小写的。 使用jOOQ,我没有找到正确的方法来查询列,忽略了大小写敏感性。 看这里: jOOQ TableField方法,我可以看到有 equalIgnoreCase 。但是在jooq类本身中,这种方法不存在。

有人知道我在这里做错了什么吗?

0
额外 编辑
意见: 1
我不确定这里有什么问题(请参阅我的答案)。你能否提供一个不能按预期工作的代码示例?
额外 作者 Lukas Eder,

1 答案

我不太确定是否通过“区分大小写”,您的意思是列内容或列名。

  • If you mean the column content, then you found the right method: Field.equalIgnoreCase(). A usage example:

    create.select()
          .from(MY_TABLE)
          .where(MY_TABLE.MY_FIELD.equalIgnoreCase("abc"))
          .fetch();
    
  • If, however, you mean the column name, then you can use the Factory Settings to control how jOOQ renders field and column names. The relevant setting is RenderNameStyle

0
额外
@swdev:我明白了。请注意,您可以在这里找到一些历史悠久的Javadocs
额外 作者 Lukas Eder,
你的回复是正确的。昨晚我只是想着也许我使用的是旧版本2.0.1。检查 jooq.org/notes.php?version=2.1 ,此新的方法 equalIgnoreCase 仅在2.0.5中可用。因此,我将 pom.xml 更改为该方法,并且该方法可用!谢谢
额外 作者 swdev,
太好了!感谢您的链接。
额外 作者 swdev,