在 NodeEntity 与 RelationshipEntity 中定义关系
Defining relationships in NodeEntity vs RelationshipEntity
我是 Neo4j 的新手,正在阅读 Spring-data-Neo4j 文档。目前我不清楚在实体 bean 中定义节点关系。
我们可以在 属性 上设置 @Relationship
,direction
为 INCOMING
或 OUTGOING
。我们也可以用 @RelationshipEntity
来定义 @StartNode
和 @EndNode
。
如果我们在关系上有其他属性,则需要 @RelationshipEntity
。但是一旦我们定义了一个关系实体,我们还需要在关系中的任一节点上使用 @Relationship
吗?我们是否需要在 Entity class 中定义所有关系?如何决定?在两侧定义所有关系是否会影响性能?
使用关系实体时,SDN 4 的当前版本要求您从至少 起始节点实体引用它。
如果您计划持久化端节点实体并期望关系实体也被持久化,您还应该从端节点实体引用它。
建议让您的对象模型尽可能接近图形模型。 http://graphaware.com/neo4j/2015/09/03/sdn-4-object-model.html
中的示例和更多解释
请注意,如果关系没有属性,则不得使用 RelationshipEntity,而是使用常规 @Relationship
s
我是 Neo4j 的新手,正在阅读 Spring-data-Neo4j 文档。目前我不清楚在实体 bean 中定义节点关系。
我们可以在 属性 上设置 @Relationship
,direction
为 INCOMING
或 OUTGOING
。我们也可以用 @RelationshipEntity
来定义 @StartNode
和 @EndNode
。
如果我们在关系上有其他属性,则需要 @RelationshipEntity
。但是一旦我们定义了一个关系实体,我们还需要在关系中的任一节点上使用 @Relationship
吗?我们是否需要在 Entity class 中定义所有关系?如何决定?在两侧定义所有关系是否会影响性能?
使用关系实体时,SDN 4 的当前版本要求您从至少 起始节点实体引用它。
如果您计划持久化端节点实体并期望关系实体也被持久化,您还应该从端节点实体引用它。
建议让您的对象模型尽可能接近图形模型。 http://graphaware.com/neo4j/2015/09/03/sdn-4-object-model.html
中的示例和更多解释请注意,如果关系没有属性,则不得使用 RelationshipEntity,而是使用常规 @Relationship
s