我已经在类主题中使用了@NodeEntity批注。在Topic中,有以下内容:(为简洁起见,我将错误范围缩小了,因此,我只编写了代码的相关部分。)
public class Topic {
...
@RelatedTo(type = "MADE_OF", direction = Direction.OUTGOING)
public Set<Topic> madeOf;
@RelatedTo(type = "MADE_OF", direction = Direction.INCOMING)
public Set<Topic> partOf;
}
现在,这可以在其他地方实例化:
Topic myTopic = new Topic();
madeOf.addAll(some list of topics with empty partOf already in the graph);
myTopic = template.save(myTopic());
现在,如果我检查myTopic.madeOf中的主题集,即使它们都应包含myTopic,它们都为空。或者,如果我这样做:
Topic myTopic = new Topic();
madeOf.addAll(some list of topics with empty partOf already in the graph);
myTopic = template.save(myTopic());
myTopic = template.findOne(myTopic());
现在检查同一件事,一切都应该正确。显然,一遍又一遍地找到这个实体会大大降低我的代码的速度。即使我使用template.createRelationshipBetween(...)将关系显式添加到Neo4JTemplate,也会发生相同的行为。
有任何想法吗?
最佳答案
完成template.save
后,您可以执行template.fetch(myTopic.getMadeOf())
一次获取所有相关主题,然后以通常的方式使用myTopic