19
votes

Is it possible to do an "in" criteria using the GORM criteria. I'm looking for the equivalent of the following SQL

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

If it was possible I guess the syntax would be something like:

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

2 Answers

34
votes

The Grails createCriteria documentation includes an example of using the in clause:

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

The documentation includes this note:

Note: 'in' is a groovy reserve word, so it must be escaped by quotes.

4
votes

Yep, you have it almost exactly right. Just change in to 'in', since in is a keyword in groovy.