Hibernate 在Gorm条件中:按属性筛选域内的集合
我有grais 2.4.3Hibernate 在Gorm条件中:按属性筛选域内的集合,hibernate,grails,gorm,criteria,Hibernate,Grails,Gorm,Criteria,我有grais 2.4.3 class DomainFather { Set domainSon = [] } 及 我正在尝试一个gorm标准: def c = DomainFather.createCriteria() def data = c.list { createAlias("domainSon", "ds") projections { max("ds.dataCreated", "ds") } } 显然不行,但我不知道该怎么做。 非常
class DomainFather {
Set domainSon = []
}
及
我正在尝试一个gorm标准:
def c = DomainFather.createCriteria()
def data = c.list {
createAlias("domainSon", "ds")
projections {
max("ds.dataCreated", "ds")
}
}
显然不行,但我不知道该怎么做。
非常感谢您的帮助。问题是您没有在域类之间建立关联。试试这个:
class DomainFather {
static hasMany = [sons: DomainSon]
}
然后您将能够使用查询:
def c = DomainFather.createCriteria()
def data = c.list {
projections {
sons {
max("dataCreated")
}
}
}
在真实的项目中,我知道了,但我不知道投影{sons{.Ah,好的。在Grails/GORM中,别名通常是不必要的。话虽如此,当您需要使用不同的连接类型(例如左外连接)时,需要别名。
def c = DomainFather.createCriteria()
def data = c.list {
projections {
sons {
max("dataCreated")
}
}
}