【发布时间】:2011-11-07 05:11:02
【问题描述】:
我在服务中有以下方法,请注意def usersByRole行上的.user:
def getUsersByRole(String desiredRole1, String desiredRole2, String desiredRole3) {
Role role1 = Role.findByAuthority(desiredRole1)
Role role2 = Role.findByAuthority(desiredRole2)
Role role3 = Role.findByAuthority(desiredRole3)
def usersByRole = UserRole.findAllByRoleInList([role1, role2, role3]).user
return usersByRole
}
效果很好,但是当用户具有多个角色(即ROLE_ADMIN 和ROLE_OWNER)时,如果前面提到的两个角色都作为参数给出,则该用户在集合中存在两次。有什么干净的方法可以让集合只包含独特的结果吗?
【问题讨论】:
标签: grails groovy grails-orm