Neo4j SDN预填充实体

时间:2015-11-28 17:48:29

标签: java neo4j cypher spring-data-neo4j

我有一个以下的Neo4j SDN实体:

@NodeEntity
public class Comment {

    private final static String COMMENTED_ON = "COMMENTED_ON";
    private final static String CREATED_BY = "CREATED_BY";

    @RelatedTo(type = COMMENTED_ON, direction = Direction.OUTGOING)
    private Commentable commentable;

    private String text;

    @RelatedTo(type = CREATED_BY, direction = Direction.OUTGOING)
    private User author;

}

以及以下SDN存储库方法:

@Override
@Query("MATCH (c:Comment) WHERE id(c) = {commentId} RETURN c")
Comment findOne(@Param("commentId") Long commentId);

作为此方法调用的结果,我只有Comment对象author.id

如何更改此方法(或Cypher查询)以预先填充author.name

1 个答案:

答案 0 :(得分:1)

您必须使用@Fetch对作者字段进行注释(这会引起整个作者的热切期待。

或者,如果需要,您也可以致电template.fetch(comment.author)