Grails 2.5.0 - 设置上的metaParams?

时间:2015-09-18 01:31:51

标签: grails gorm

我有以下课程:

class User {
...
static hasMany = [data: MyData]
...
}

我想在User对象上获取user.data,但是使用像findAllBy(https://grails.github.io/grails-doc/latest/ref/Domain%20Classes/findAllBy.html)中的metaParams过滤返回的列表。

这可能吗?

1 个答案:

答案 0 :(得分:0)

使用条件查询,您可以执行以下操作:

def id = /* some User.id here */

// http://grails.github.io/grails-doc/2.1.0/ref/Domain%20Classes/createCriteria.html
def data = User.createCriteria().list(max: 10, offset: 100) {
    projections {
        property 'data'
    }

    eq 'id', id

    order 'something', 'desc'
}

如果您最终得到重复的MyData实例,请尝试使用HQL。像这样:

// https://grails.github.io/grails-doc/latest/ref/Domain%20Classes/executeQuery.html
User.executeQuery 'select distinct u.data from User as u where u.id = :id', [id: id, max: 10, offset: 5]