在Gorm Criteria中:按属性过滤域内的集合

时间:2015-11-17 14:21:09

标签: hibernate grails gorm criteria

我是格拉斯2.4.3我有

class DomainFather {
   Set domainSon = []
}

并且

class DomainSon {
   Date dataCreated
}

我正在尝试一个标准:

def c = DomainFather.createCriteria()
def data = c.list {
    createAlias("domainSon", "ds")
    projections {
       max("ds.dataCreated", "ds")
    }
}

显然不起作用,但我不知道我应该怎么做。 任何帮助都是值得赞赏的。

1 个答案:

答案 0 :(得分:2)

问题是您没有在域类之间建立关联。试试这个:

class DomainFather {

    static hasMany = [sons: DomainSon]

}

然后您就可以使用查询:

def c = DomainFather.createCriteria()
def data = c.list {
    projections {
       sons {
           max("dataCreated")
       }
    }
}