2016-08-01 20 views
3

春データのNeo4j 4とページング可能@QueryResult

@Query(value = "MATCH (parentD)-[:CONTAINS]->(childD:Decision)-[ru:CREATED_BY]->(u:User) WHERE id(parentD) = {decisionId} OPTIONAL MATCH (childD)<-[:VOTED_FOR]-(vg:VoteGroup)-[:VOTED_ON]->(c:Criterion) WHERE id(c) IN {criteriaIds} WITH childD, ru, u, vg.avgVotesWeight as weight RETURN childD AS decision, ru, u, sum(weight) as weight ORDER BY weight DESC", countQuery="MATCH (parentD)-[:CONTAINS]->(childD:Decision) WHERE id(parentD) = {decisionId} RETURN count(childD)") 
Page<WeightedDecision> getChildDecisionsSortedBySumOfCriteriaAvgVotesWeight(@Param("decisionId") Long decisionId, @Param("criteriaIds") Set<Long> criteriaIds, Pageable pageable); 

WeightedDecisionは@QueryResultです:

@QueryResult 
public class WeightedDecision { 

    private Decision decision; 

    private double weight; 

    public Decision getDecision() { 
     return decision; 
    } 

    public void setDecision(Decision decision) { 
     this.decision = decision; 
    } 

    public double getWeight() { 
     return weight; 
    } 

    public void setWeight(double weight) { 
     this.weight = weight; 
    } 

} 

現在のところ、この論理はClassCastException例外を除いて失敗します。

java.lang.ClassCastException: com.example.domain.model.decision.result.WeightedDecision cannot be cast to org.springframework.data.domain.Page 

私は間違っていて、それを修正する方法は何ですか?

+0

OGM(またはSDNではなく)のバグとしてこの問題を再現しました。修正の作業。あなたは投稿し続けるでしょう。 –

答えて

4

SDNのバージョン2.0.4は、@QueryResultのページングをサポートしていませんでした。バージョン2.0.5 をサポートし、この機能はスナップショットビルドリポジトリのUATで使用できます。

+0

OGM 2.0.5-SNAPSHOTとSDN 4.2.0-BUILD-SNAPSHOTで現在動作していることを確認したいと思います。ありがとう!!! – alexanoid

関連する問題