按区域名称分组的示例:
def result = User.createCriteria().list{
projections {
roles {
zones{
groupProperty("name")
}
}
}
}
但是假设我想获得“id”或其他属性。事实是我希望对象代表组而不是字符串“name”。
result.each{ println it.customFuncion() }
“zones”是一个hasMany属性,然后我不能自己分组。应该做什么,但不起作用:
def result = User.createCriteria().list{
projections {
roles {
groupProperty("zones")
}
}
}
这可能吗?谢谢你们!
答案 0 :(得分:0)
使用hql进行复杂查询:
def result = User.executeQuery("select u.id, zone.name from User as u inner join u.roles as role inner join role.zones as zone group by u.id, zone.name")
然后您可以按如下方式访问结果列:
result.each { row -> row[0] // u.id } // or access via defined column name
想象一下,我不知道你真正的hasMany集合名称。