Grails标准';行不通
在我的应用程序中,我使用createCriteria根据一些条件获取列表。 角色映射包含用户 我使用以下代码:Grails标准';行不通,grails,criteria,nhibernate-projections,Grails,Criteria,Nhibernate Projections,在我的应用程序中,我使用createCriteria根据一些条件获取列表。 角色映射包含用户 我使用以下代码: def getTeamOfCompany(def company,def offset=0){ def c = roleMapping.createCriteria() def result = c.list{ eq('company',company) eq('isCurrentCompany',true
def getTeamOfCompany(def company,def offset=0){
def c = roleMapping.createCriteria()
def result = c.list{
eq('company',company)
eq('isCurrentCompany',true)
firstResult offset
maxResults 10
distinct('user')
user{
order "lastname", "asc"
}
}
return result
}
我使用distinct是为了不让同一个用户使用两次,但它不起作用
如果我将投影放在distinct上,我将得到一个用户列表,而不是角色映射您可以尝试对提供角色映射集合的以前代码执行
result.unique{it.user}
。投影实际上为您选择了列您到底想要什么?您希望每个用户都有一个角色吗?为什么?result.unique{it.user}是解决问题的巧妙方法,但它破坏了条件查询的正确分页行为。