假设我有一个名为“User”的域类,它可以跟随其他“User”对象。这样做的目的是将字段指定为:
def hasMany=[followedUsers:User]
我不需要做反向操作(查找遵循特定用户对象的所有用户对象)而不设置反向关系,因为这不是经常执行的用例。我试图使用闭包来做这样的事情:
User.findAll { it.followedUsers.contains(userInstance) }
但这总是返回数据库中的所有用户,无论其关注状态如何。我尝试过使用HQL,但同样失败了。
谁能给我快速的指南来最简单地实现这一目标?谢谢你。
最佳答案
您可以使用以下HQL查询:
User.executeQuery(
'select u from User u where :follower in elements(u.followedUsers)',
[follower: userInstance])