我有一个用户类hasMany = [friends:User]
现在我正在尝试显示好友列表 - $ {user.friends}
但是,我希望能够像我一样应用参数,例如User.findAllBy(user,[max:10,sort:'dateCreated',order:'desc"])
有人可以告诉我如何在Grails/Groovy的一对多中做到这一点吗?
我会使用 HQL:
String hql = '''
select u from User u, User u2
where u in elements(u2.friends) and u2=:user
order by u.dateCreated desc
'''
int max = ...
int offset = ...
def friends = User.executeQuery(hql, [user: user], [max: max, offset: offset])
Run Code Online (Sandbox Code Playgroud)
您可以尝试过滤朋友集合,但是一旦您对其执行任何操作,它就会从数据库中完全加载,因此,如果您只需要 10 个实例,那么您将浪费加载所有其余实例。
归档时间: |
|
查看次数: |
1555 次 |
最近记录: |