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

まだこの問題を抱えている人のために; paramslist メソッドで提供されたオブジェクトを削除します。したがって、上記の条件クエリは次のようになります。

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 に答える