我有以下课程:
class User {
...
static hasMany = [data: MyData]
...
}
我想在User对象上获取user.data,但是使用像findAllBy(https://grails.github.io/grails-doc/latest/ref/Domain%20Classes/findAllBy.html)中的metaParams过滤返回的列表。
这可能吗?
答案 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]