如何使用Grails 2.0中的where查询进行投影?

4

我喜欢新的Grails 2.0 "where"查询,但需要进行投影。有人知道如何做吗?目前我有一段代码,它实例化所有的域实例并提取我所需的字段:

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

这很不高效。

1个回答

10
根据这篇博客文章,你不能直接在where查询中使用投影。但是,由于where查询返回的对象是一个DetachedCriteria,你可以像这样附加一个传统的条件:
List<Double> eloRatings = User.where { !deleted }.projections {
    property 'eloRating'
}.list()

这应该可行,我在 Grails 2.0 下测试过了。


那篇博客文章很棒!其中一些内容需要加入到Grails文档中。 - David Tinker
是的,这篇帖子非常有用。 - OverZealous

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接