2012-05-24 32 views
1

我在PostgreSQL中使用jOOQ,我只是意識到我的列是區分大小寫的。 使用jOOQ,我沒有找到正確的方法來查詢列,忽略了大小寫敏感性。 看這裏:jOOQ TableField Method,我可以看到有equalIgnoreCase。但是在jooq類本身中,這種方法不存在。如何使用Jooq查詢列不區分大小寫?

有人知道我在這裏做錯了什麼嗎?

+0

我不確定這裏可能是什麼問題(請參閱我的回答)。你能否提供一個不能按預期工作的代碼示例? –

回答

4

我不太確定是否通過「區分大小寫」來表示列內容或列名。

  • 如果您是指列的內容,那麼您找到正確的方法:Field.equalIgnoreCase()。用法示例:

    create.select() 
         .from(MY_TABLE) 
         .where(MY_TABLE.MY_FIELD.equalIgnoreCase("abc")) 
         .fetch(); 
    
  • 但是,如果你指的是列名,那麼你可以使用FactorySettings控制jOOQ如何呈現字段名和列名。相關設置爲RenderNameStyle

+0

您的回覆是正確的。昨晚我只是想着也許我使用的是舊版本2.0.1。檢查http://www.jooq.org/notes.php?version=2.1,這個新的方法'equalIgnoreCase'只在2.0.5中可用。所以,我將'pom.xml'改爲那個,並且該方法可用!謝謝 – swdev

+1

@swdev:我明白了。請注意,你可以在這裏找到一些[歷史悠久的Javadocs](http://www.jooq.org/javadoc/) –

+0

不錯!感謝您的鏈接。 – swdev