Grails 2.3.0 の使用: ドキュメントによると: http://grails.org/doc/latest/ref/Domain%20Classes/createCriteria.html
3 番目の引数を使用して、大文字と小文字を区別しないEq
基準を作成できます[ignoreCase: true]
。このような:
eq(field, string, [ignoreCase: true])
ただし、これはエラーをスローします。
No signature of method: grails.gorm.DetachedCriteria.eq() is applicable for argument types: (java.lang.String, java.lang.String, java.util.LinkedHashMap) values: [xx, yy, [ignoreCase:true]]
Possible solutions: eq(java.lang.String, java.lang.Object), get(), grep(), any(), ge(java.lang.String, java.lang.Object), gt(java.lang.String, java.lang.Object). Stacktrace follows:
この Jiraは、MongoDB に関する問題を示しています。Oracle 11G を使用していますが、まったく同じことが発生しています。
ドキュメントの操作は実際にサポートされていますか (コードを調べてみると、そうではないようです...)? これは DetachedCriterias でも機能しないはずです (ドキュメントで他の方法を見つけることができません...)?
コードスニペット:
public DetachedCriteria createCriteriaForArbejdssted(SoegeCommand command, DetachedCriteria criteria) {
criteria = criteria.build {
if(command.harArbejdsstedskriterier()) {
'arbejdsstedsPerioder' {
'arbejdssted' {
if(command.arbejdsstedsnavn) { eq('navn', command.arbejdsstedsnavn, [ignoreCase: true])}
}
}
}
}