如何在SDN3中使用@Query结果?

时间:2014-05-09 01:02:59

标签: neo4j spring-data-neo4j sdn

我在我的网站上使用Spring Data Neo4j 3.0.0。

我在开发方面遇到了一些问题。 我在@NodeEntity模型类中使用@Query Annontation。

@Query(value = "START a=node({self}) MATCH (a)<-[:`COMMENT_TO`]-(b) RETURN b ORDER BY    b.createdAt DESC")
private Set<BaseComment> sortedComments;

我试着使用这个结果......然后sortedComments类型是SpringEndResult。 如何将此结果用于设置?

我可以在.jsp中使用它吗? 当我在jsp中使用sortedComments和JSTL(c:foreach)时。 我遇到SpringEndResult没有属性异常。

我不是英国人。 感谢您的答复。 :)

@Test
public void getList() {
    List<SimpleArticle> articles = articleService.getAll(0, 10).getContent();
    for (SimpleArticle simpleArticle : articles) {
        Set<BaseComment> comments = simpleArticle.getSortedComments();
        for (BaseComment baseComment : comments) {
            log.info(baseComment);
        }
    }
}

我见过

java.lang.ClassCastException: org.springframework.data.neo4j.rest.SpringEndResult cannot be cast to kr.carcare.model.bbs.BaseComment

这是我的域类

public class SimpleArticle extends BaseArticle {

@RelatedTo(type = "COMMENT_TO", direction = Direction.INCOMING)
@Fetch
private Set<BaseComment> comments;

@Query("START a=node({self}) MATCH (a)<-[:`COMMENT_TO`]-(b) RETURN b ORDER BY b.createdAt DESC")
private Set<BaseComment> sortedComments;

1 个答案:

答案 0 :(得分:1)

尝试使用SpringEndResult的“as”方法并提供类似Set.class(或实现Iterable的类似方法)。

我不记得那是否是确切的语法,但是,“as”方法采用了一个扩展Iterable的类参数,其中R是模板类型;在你的情况下,R是BaseComment。