2011-10-04 7 views
1

예를 객체 GROUPBY. 사실은 내가 문자열을 "이름"이 아니라 그룹을 나타내는 개체를 원한다는 것입니다.Grails의 기준은 지역의 이름으로 그룹화

result.each{ println it.customFuncion() } 

"zones"는 hasMany 속성이고 그 자체로 그룹을 가질 수 없습니다. 무엇을해야 하나 작동하지 않는가 :

def result = User.createCriteria().list{ 

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

가능합니까? 고마워요! 복잡한 쿼리에 대한

답변

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의 수집 이름을 모르는 상상해보십시오.