2

我的问题与 Grails Projections 完全一样 ,没有返回所有属性,也没有分组

我有以下标准

def sharedDocumentsInstanceList SharedDocuments.createCriteria().list(params){
   createAlias('receiver', 'r')
   createAlias('author', 'a')
   eq("r.id",session.uid)  
   projections{
      groupProperty("a.id")
      property("a.firstName","firstName")
      property("a.lastName","lastName")
      property("a.emailAddress","email")
   }
}

其中 sharedDocuments 定义如下

class SharedDocuments {
   Users author
   Users receiver
   Documents file
}

我所看到的是 sharedDocumentsInstanceList 总是只有投影中提到的最后一个属性。我可以在“withCriteria”中使用相同的查询,但我似乎失去了自动分页的常规优点,因为 withCriteria 不返回分页的 pagedresultlist!

4

2 回答 2

2

为了那些仍然有这个问题的人;删除params列表方法上提供的对象。所以上面的条件查询变为:

def sharedDocumentsInstanceList = SharedDocuments.createCriteria().list {
    createAlias('receiver', 'r')
    createAlias('author', 'a')
    eq("r.id",session.uid)  
    projections {
        groupProperty("a.id")
        property("a.firstName","firstName")
        property("a.lastName","lastName")
        property("a.emailAddress","email")
    }
    maxResults(params.max)
    firstResult(params.offset)
    order(params.sort, params.order)
}
于 2013-10-30T13:42:17.063 回答
0
    projections{                
        author {
           groupProperty("id")
           property("firstName","firstName")
           property("lastName","lastName")
           property("emailAddress","email")
        }
    }

使用上述方法会产生不同的结果吗?只是一个想法...

于 2013-03-06T19:57:32.067 回答