Grails groupProperty и порядок. Как это устроено? - PullRequest
4 голосов
/ 07 марта 2011

У меня есть этот домен:

class Participation {
   ParticipationStatus status
}
class ParticipationStatus{
   String name
   Date creationDate
}

Я создаю запрос:

Participation.createCriteria().list{
   createAlias("status","statusAlias")
   order "statusAlias.creationDate"
   projections{
     groupProperty "id"    
   }
}

Но я получил ошибку: Вызывается: java.sql.SQLException: ORA-00979: N'est pas une выражение GROUP BY

Я работаю 2 дня назад над этим запросом, grrrr! ; -)

Большое спасибо

1 Ответ

8 голосов
/ 07 марта 2011

Каждое поле, которое вы используете в агрегированных запросах (поле, использующее projections), должно быть либо groupProperty, либо только аргументом агрегированной функции (то есть в любом случае projections).В этом примере попробуйте

Participation.createCriteria().list{
   createAlias("status","statusAlias")
   order "statusAlias.creationDate"
   projections{
     groupProperty "id"    
     groupProperty "statusAlias.creationDate"
   }
}
...