Grails 使用Groovy检查对象是否在集合中
我有一个名为Event的类,其中有许多用户对象Grails 使用Groovy检查对象是否在集合中,grails,groovy,Grails,Groovy,我有一个名为Event的类,其中有许多用户对象 static hasMany = [users:User] 如何检查给定用户是否在该集合中?是否有一个函数可以执行此操作 我以为users.find(GivenUser)会有用,但显然不行 问题是如何为集合中的对象计算相等性。如果不知道您是否为集合中的对象实现了自己的equals或hashcode,很难说。但是,您始终可以这样做: users.find{it.id == givenUser.id} 正如评论中指出的,如果您有双向关系,最好使用G
static hasMany = [users:User]
如何检查给定用户是否在该集合中?是否有一个函数可以执行此操作
我以为users.find(GivenUser)会有用,但显然不行 问题是如何为集合中的对象计算相等性。如果不知道您是否为集合中的对象实现了自己的equals或hashcode,很难说。但是,您始终可以这样做:
users.find{it.id == givenUser.id}
正如评论中指出的,如果您有双向关系,最好使用GORM来查询。在这种情况下,将更容易和有效地:
User.findByOtherObject(otherObject)
问题是如何为集合中的对象计算相等性。如果不知道您是否为集合中的对象实现了自己的equals或hashcode,很难说。但是,您始终可以这样做:
users.find{it.id == givenUser.id}
正如评论中指出的,如果您有双向关系,最好使用GORM来查询。在这种情况下,将更容易和有效地:
User.findByOtherObject(otherObject)
如果您有一个双向关系User.someParentDomain,那么您实际上可以使用someParentDomain.findByUser(User)Oops更快地完成它,而无需加载所有用户对象。事实上,我是通过另一种方式得到它的,抱歉:您想要的是User.findBySomeParentDomain(parent)如果您有一个双向关系User.someParentDomain,然后你可以更快地完成它,而不用加载所有的用户对象,使用SomeParentDomain.findByUser(用户)哦,实际上我是通过另一种方式得到的,对不起:你想要的是User.findBySomeParentDomain(父)