Arm*_*ohn 12 collections grails grails-orm
假设我有一个名为"User"的域类,它可以跟随其他"User"对象.它这样做有一个字段指定为:
def hasMany=[followedUsers:User]
Run Code Online (Sandbox Code Playgroud)
我需要反向(找到跟随特定User对象的所有User对象)而不设置反向关系,因为它不是经常执行的用例.我尝试使用闭包做这样的事情:
User.findAll { it.followedUsers.contains(userInstance) }
Run Code Online (Sandbox Code Playgroud)
但这始终会返回数据库中的所有用户,无论他们的跟随状态如何.我尝试使用HQL,但也失败了.
有人能给我一个快速指针,指出最简单的方法吗?谢谢.
Bur*_*ith 13
您可以使用此HQL查询:
User.executeQuery(
'select u from User u where :follower in elements(u.followedUsers)',
[follower: userInstance])
Run Code Online (Sandbox Code Playgroud)