Ваш пример будет выглядеть так:
select * from account
where holderFirstName like 'Fred%'
and balance between 500 and 1000
and branch = 'London'
Все условия верхнего уровня подразумеваются как AND'ы вместе.Вы можете создать те же критерии, что и:
def c = Account.createCriteria()
def results = c {
like("holderFirstName", "Fred%")
between("balance", 500, 1000)
eq("branch", "London")
maxResults(10)
order("holderLastName", "desc")
}
. Для получения второго запроса используйте следующие критерии:
def c = Account.createCriteria()
def results = c {
like("holderFirstName", "Fred%")
or {
between("balance", 500, 1000)
eq("branch", London")
}
maxResults(10)
order("holderLastName", "desc")
}
Вложите свои and
/ or
замыкания для более сложных критериев.