首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails criteria groupby对象

Grails criteria groupby对象
EN

Stack Overflow用户
提问于 2011-10-05 06:44:19
回答 1查看 328关注 0票数 1

按区域名称分组的示例:

代码语言:javascript
复制
def result = User.createCriteria().list{

     projections {
          roles  {
               zones{
                    groupProperty("name")
               }
          }
     }
}

但是假设我想要获取"id“或其他属性。事实上,我想要的是代表组的对象,而不是字符串"name“。

代码语言:javascript
复制
result.each{ println it.customFuncion() }

"zones“是一个hasMany属性,所以我不能自己分组。应该做的事情,但不起作用:

代码语言:javascript
复制
def result = User.createCriteria().list{

     projections {
          roles  {
               groupProperty("zones")
          }
     }    
}

这有可能吗?谢谢你们!

EN

回答 1

Stack Overflow用户

发布于 2011-10-05 14:34:41

对复杂的查询使用hql:

代码语言:javascript
复制
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")

然后您可以访问结果列,如下所示:

代码语言:javascript
复制
result.each { row -> row[0] // u.id } // or access via defined column name

想象一下,我不知道您的真实hasMany集合名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7654876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档