java - 在 NodeEntity 与 RelationshipEntity 中定义关系

标签 java neo4j spring-data-neo4j spring-data-neo4j-4

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

我们可以在属性上使用@RelationshipdirectionINCOMINGOUTGOING。我们还可以使用@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/

相关文章:

java - 需要工作解决方案以在自定义应用程序中使用 Android 模式锁定屏幕(而不是源代码重定向)

java - 基于当前值的加权随机性(不知道如何解释)

neo4j - Neo4j-使用ID匹配多个节点

java - Spring Boot - 连接到 Neo4j 和 MySQL 数据源

java - 关于 solr 查询方面

java - SpringMVC @Scope session 不创建线程

neo4j - neo4j 中的参数化查询

neo4j - 使用 Cypher 和 Neo4j 进行邻居、重复和聚合

neo4j - Rest配置中使用Neo4jTemplate保存数据太慢

neo4j - 执行缓慢的密码查询创建节点以按属性值对现有节点进行分组