【发布时间】:2013-08-24 03:10:12
【问题描述】:
只有当我从数据库中检索实体时,属性上的 @Query 才会检索值。
@NodeEntity
public class Team
{
@GraphId
private Long nodeId;
@RelatedTo (type = "PREVIOUSLY_KNOWN_AS")
private Team previouslyKnownAs;
@Query ("START t=node({self}) MATCH t-[:PREVIOUSLY_KNOWN_AS]-other RETURN other")
private Iterable<Team> aliases;
}
只有当我取消注释该行以从数据库中显式读取它时,以下测试才有效。为什么有必要?我看到查询在 save(t) 之后运行,但 alias 字段是 null 如果我没有通过取消注释该行从 DB 中读取它
@Test
public void alias()
{
Team t = new Team();
t.setName("Alpharetta One");
Team prev = new Team();
prev.setName("Previous Name");
teamRepo.save(prev);
t.setPreviouslyKnownAs(prev);
teamRepo.save(t);
//t = teamRepo.findOne(t.getNodeId());//only works if I uncomment
assertNotNull(t.getAliases());
}
【问题讨论】:
标签: neo4j spring-data spring-data-neo4j