我正在将Spring Data与Neo4j一起使用,并且正在为我的模式创建POJO。在这个模式中,我有一个名为 Person 的节点,具有通常的属性、名称、姓氏等......我还有一个名为DRIVES的关系,它与另一个称为carModel的节点建立了关系:
(person)-[:DRIVES]->(carModel).
在我的 Person 类中,我定义了关系和方法的所有属性字段和注释,如下所示:
@Relationship(type = "DRIVES", direction = Relationship.UNDIRECTED)
public CarModel carModel;
我的问题是,如果在CarModel类中我也需要定义关系?
创建一个仅在一侧声明关系的模型是完全可以的。
其原因可能是
-
你只是不想从你的CarModel类引用到人
-
节省
CarModel
保存操作的时间 - SDN无需检查相关Person
是否已更改
更新
存储在 Neo4j 中的关系可以在两个方向上遍历,尽管仅在 Person 类中定义。
使用自定义密码查询,您可以按CarModel查询Person ,也可以按Person查询CarModel。
在 SDN 中使用派生查找器时,只能使用类模型中定义的方向。