获得集合少于属性的所有域的标准

时间:2011-12-19 12:51:20

标签: grails criteria-api

给出以下域类:

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

使用Criteria API,我该怎么做才能让所有域的用户数少于maxUsers属性?

1 个答案:

答案 0 :(得分:1)

我不认为可以使用Criteria api,因为Hibernate Criteria不支持HAVING子句。有一个开放的JIRA issue,您可以尝试在那里提交的补丁。

另一种方法是使用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)")