Grails / GORM «в» критериях

#hibernate #grails #criteria #grails-orm

#переход в спящий режим #grails #критерии #grails-orm

Вопрос:

Возможно ли выполнить критерии «в», используя критерии GORM. Я ищу эквивалент следующего SQL

 select * from Person where age in (20,21,22);
  

Если бы это было возможно, я думаю, синтаксис был бы чем-то вроде:

 def results = Person.withCriteria {
    in "age", [20, 21, 22]
}
  

Ответ №1:

Документация Grails по createCriteria включает пример использования in предложения:

 'in'("holderAge",[18..65]) 
or not{'in'("holderAge",[18..65])}
  

Документация включает в себя это примечание:

Примечание: ‘in’ — это заводное резервное слово, поэтому оно должно быть заключено в кавычки.

Ответ №2:

Да, у вас это почти точно верно. Просто измените in на 'in' , поскольку in это ключевое слово в groovy.