Как я могу сделать проекцию, используя Grails 2.0, где запрос? - PullRequest
4 голосов
/ 03 января 2012

Мне нравятся новые Grails 2.0 "где" запросы, но мне нужно сделать прогноз.Кто-нибудь знает как?Сейчас у меня есть код, который создает все экземпляры домена и извлекает нужное мне поле:

List<Double> eloRatings = User.where { !deleted }.list()*.eloRating

Это не очень эффективно.

1 Ответ

10 голосов
/ 03 января 2012

Из этого сообщения в блоге , вы не можете использовать проекции напрямую с where запросами.Однако, поскольку возвращаемый объект из запроса where является DetachedCriteria, вы можете добавить к нему традиционные критерии, например:

List<Double> eloRatings = User.where { !deleted }.projections {
    property 'eloRating'
}.list()

Это должно работать, я тестировал его в Grails 2.0.

...