Критерии для получения всех доменов с коллекцией меньше, чем собственность - PullRequest
0 голосов
/ 19 декабря 2011

Учитывая следующий класс домена:

class Game {
    Integer maxUsers
    static hasMany = [users: User]
}

Используя Criteria API, что мне нужно сделать, чтобы получить все домены с числом пользователей меньше maxUsers свойство?

1 Ответ

1 голос
/ 19 декабря 2011

Я не думаю, что это возможно сделать с Criteria api, так как Hibernate Criteria не поддерживает предложение HAVING.Для этого существует открытая проблема JIRA , вы можете попробовать отправленные там патчи.

Альтернативой может быть использование HQL:

def results = Game.findAll("from Game where id in (select g.id from Game g join g.users u group by g.id, g.maxUsers having count(u) < g.maxUsers)")
...