在 NodeEntity 与 RelationshipEntity 中定义关系

Defining relationships in NodeEntity vs RelationshipEntity

我是 Neo4j 的新手,正在阅读 Spring-data-Neo4j 文档。目前我不清楚在实体 bean 中定义节点关系。

我们可以在 属性 上设置 @RelationshipdirectionINCOMINGOUTGOING。我们也可以用 @RelationshipEntity 来定义 @StartNode@EndNode
如果我们在关系上有其他属性,则需要 @RelationshipEntity。但是一旦我们定义了一个关系实体,我们还需要在关系中的任一节点上使用 @Relationship 吗?我们是否需要在 Entity class 中定义所有关系?如何决定?在两侧定义所有关系是否会影响性能?

使用关系实体时,SDN 4 的当前版本要求您从至少 起始节点实体引用它。

如果您计划持久化端节点实体并期望关系实体也被持久化,您还应该从端节点实体引用它。

建议让您的对象模型尽可能接近图形模型。 http://graphaware.com/neo4j/2015/09/03/sdn-4-object-model.html

中的示例和更多解释

请注意,如果关系没有属性,则不得使用 RelationshipEntity,而是使用常规 @Relationships