我目前正在从事一个 grails 项目,我需要将我的查询结果合并到一个列表中。问题是,在某些情况下,我的查询结果返回相等的值,这会导致错误消息:具有相同标识符值的不同对象已与会话关联
这是我的代码:
List permissions = []
cmd?.role.each{ role ->
permissions.add(RolePermission.executeQuery("select distinct rp.permission from RolePermission rp where rp.role = ?",[Role.get(role.toLong())]))
}
这里的对象角色可能包含两个不同的角色名称,在某些情况下,这些角色名称中存在的权限是相同的。
我将如何修改我的查询以使我只能从结果中获取唯一值?我尝试过使用 distinct,但没有奏效。
请帮忙!
谢谢!