我是 Neo4j 新手,正在阅读 Spring-data-Neo4j 文档。目前我不清楚定义实体 bean 中的节点关系。
我们可以在属性上使用@Relationship
,direction
为INCOMING
或OUTGOING
。我们还可以使用@RelationshipEntity
来定义@StartNode
和@EndNode
。
如果我们在关系上有其他属性,则需要 @RelationshipEntity
。但是,一旦我们定义了一个关系实体,我们在关系中的任一节点上仍然需要 @Relationship
吗?我们需要在双方的实体类中定义所有关系吗?如何决定?定义双方的所有关系会影响性能吗?
最佳答案
使用关系实体时,当前版本的 SDN 4 要求您至少从起始节点实体引用它。
如果您计划持久化结束节点实体并期望关系实体也被持久化,您还应该从结束节点实体引用它。
建议让您的对象模型尽可能接近您的图形模型。示例和更多说明位于http://graphaware.com/neo4j/2015/09/03/sdn-4-object-model.html
请注意,如果关系上没有属性,则不得使用RelationshipEntity,而应使用常规的@Relationship
关于java - 在 NodeEntity 与 RelationshipEntity 中定义关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33540247/