有沒有方法可以指定namedquery中的列表是不區分大小寫的?我認爲,在Grails 2.2之前,這是默認的,但與Grails 2.2.3不工作...在使用MongoDB的Grails中的命名查詢的列表方法中排序不區分大小寫
這是我的代碼行,使命名查詢的調用,並嘗試列出排序的情況下不敏感的方式。
BackendUser.filter(company,filter).list(max:max,offset:offset,"sort":sortName,order:order,ignoreCase:true)
正如你所看到的,我已經嘗試添加ignoreCase:true選項,但它不工作。而且我無法在指定查詢中添加排序,因爲我在需要不同排序選項的其他地方使用它。
萬一它的需要,這是命名查詢
static namedQueries = {
filter {company,filter->
eq 'company',company
if (filter.firstName){
ilike 'firstName',"%${filter.firstName}%"
}
if (filter.lastName){
ilike 'lastName',"%${filter.lastName}%"
}
if (filter.email){
ilike 'email',"%${filter.email}%"
}
}
}
編輯:對不起,我忘了提,我使用MongoDB的,我認爲這是一個誰是造成問題
ilike確實是一個不區分大小寫。您可以啓用sql的日誌以查看Hibernate應該使用'lower()'輸出查詢。 –
我的意思是排序,而不是過濾本身。 ilike工作正常,問題出在例如用'AAA'。'aaa''BBB'進行分類時。它命令:'AAA','BBB','aaa'而不是'AAA','aaa','BBB' – Eylen
嗨@Eylen你是如何解決你的問題的?我需要達到相同的目的,我不想把排序內命名的查詢,但內命名查詢的列表方法。 –