Neo4j的新功能(与Spring数据一起使用)
我正在教育领域建立一个项目。
现在,当我通过repository.save(questionEntity);
保存一个Question实体时,它将保存两个节点,1是Question
,另一个是Answer
。
我想避免Answer
成为节点。并且,其数据应存储在Question节点中。
原因-假设我有一个Question实体,该实体具有100个答案,并尝试通过以下方式获取Question数据repository.findById(questionEntity.getId());,它将遍历问题+答案节点(1 + 100 = 101)。效率不高。
请在下面查看我的POJO。预先感谢。
附加问题-哪个更好? Spring数据存储库功能,例如findById
,save
等或CYPHER
查询?
@NodeEntity
public class Question {
@Id
private String cmsQId;
private String type;
private String difficultyLevel;
private String questionId;
@JsonInclude(JsonInclude.Include.NON_NULL)
private List<Answer> answers;
}
public class Answer {
private List<String> correctAnswer;
private Feedback feedback;
}
嗨,Mayank,欢迎您来。您可以像在CompositeAttributeConverter
中那样实现example的实现,但是您必须自己进行迭代以创建集合(例如,将数字附加到字段等)。通常,我看不出为什么要在Answer
节点中存储Question
。这不是真正的“图形”和映射,例如对于SDN而言,101个对象不是什么大问题,而对于图数据库提供数据来说,甚至更少。