【问题标题】:How to use Jooq to query for a column case-insensitive?如何使用 Jooq 查询不区分大小写的列?
【发布时间】:2012-05-30 18:10:58
【问题描述】:

我正在将 jOOQ 与 PostgreSQL 一起使用,我只是意识到我的专栏是区分大小写的。 使用jOOQ,我没有找到查询列的正确方法,忽略了它的大小写敏感性。 看这里:jOOQ TableField Method,我可以看到有equalIgnoreCase。但在 jooq 类本身中,该方法不存在。

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

【问题讨论】:

  • 我不确定这里可能是什么问题(请参阅我的回答)。您能否提供一个未按预期工作的代码示例?

标签: java sql postgresql jooq


【解决方案1】:

我不太确定“区分大小写”是指列内容还是列名。

  • 如果您指的是列内容,那么您找到了正确的方法:Field.equalIgnoreCase()。使用示例:

    create.select()
          .from(MY_TABLE)
          .where(MY_TABLE.MY_FIELD.equalIgnoreCase("abc"))
          .fetch();
    
  • 但是,如果您指的是列名,那么您可以使用 Factory Settings 来控制 jOOQ 如何呈现字段和列名。相关设置为RenderNameStyle

【讨论】:

  • 您的回复是正确的。昨晚我只是想也许我使用的是旧版本,2.0.1。签入jooq.org/notes.php?version=2.1,这个新方法equalIgnoreCase 仅在2.0.5 中可用。所以,我把我的pom.xml 改成那个,那个方法就可用了!谢谢
  • @swdev:我明白了。请注意,您可以找到一些historic Javadocs here
猜你喜欢
  • 2023-01-31
  • 2017-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多