Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多个/可选端节点Neo4j_Neo4j_Spring Data Neo4j 4_Neo4j Ogm - Fatal编程技术网

多个/可选端节点Neo4j

多个/可选端节点Neo4j,neo4j,spring-data-neo4j-4,neo4j-ogm,Neo4j,Spring Data Neo4j 4,Neo4j Ogm,当前情景: 用户可以拥有一辆汽车和一辆摩托车,因此用户可以拥有1个关系[:OWNS]:Car和另一个to:Motorcycle。用户也可能既没有,也可能只有一个 U->C & U->M U->C U 当前关系实体: @RelationshipEntity(type = "OWNS") public class Owns { @GraphId Long

当前情景:

用户可以拥有一辆汽车和一辆摩托车,因此用户可以拥有1个关系[:OWNS]:Car和另一个to:Motorcycle。用户也可能既没有,也可能只有一个

U->C & U->M
U->C 
U
当前关系实体:

@RelationshipEntity(type = "OWNS")                      
public class Owns {

@GraphId                                    
Long relationshipId;                            

private int price;

@StartNode                          
Car car;                                

@EndNode                                    
Motorcycle motor;
}
如何将用户设置为只有其中一个?因为我得到一个错误,一个EndNode不能为null,这在这里是可以理解的。有没有办法使另一个endNode成为可选的


谢谢

也许是对@RelationshipEntity的误解? 关系实体只是两个节点之间具有属性的关系

@StartNode                          
Car car;                                

@EndNode                                    
Motorcycle motor;
就是说一辆车拥有一辆摩托车

您想要的是拥有汽车或摩托车的用户,因此,如果您拥有Michael建议的超类
车辆
,则您将拥有以下功能:

@RelationshipEntity(type = "OWNS")                      
public class Owns {

@GraphId                                    
Long relationshipId;                            

private int price;

@StartNode                          
User user;                                

@EndNode                                    
Vehicle vehicle;
}
用户将拥有:

@Relationship(type="OWNS")
Set<Owns> vehiclesOwned;
@关系(type=“OWNS”)
设置车辆所有权;

这个集合中可以有零个、一个或多个车辆。

也许是对@RelationshipEntity的误解? 关系实体只是两个节点之间具有属性的关系

@StartNode                          
Car car;                                

@EndNode                                    
Motorcycle motor;
就是说一辆车拥有一辆摩托车

您想要的是拥有汽车或摩托车的用户,因此,如果您拥有Michael建议的超类
车辆
,则您将拥有以下功能:

@RelationshipEntity(type = "OWNS")                      
public class Owns {

@GraphId                                    
Long relationshipId;                            

private int price;

@StartNode                          
User user;                                

@EndNode                                    
Vehicle vehicle;
}
用户将拥有:

@Relationship(type="OWNS")
Set<Owns> vehiclesOwned;
@关系(type=“OWNS”)
设置车辆所有权;

这一组中可以有零辆、一辆或多辆车。

您什么时候会遇到问题?你可能会有一个Vehicle超类。事实上,当一个用户拥有一辆车的时候,它会告诉我“EndNode不能为null”,有一个超类可以解决这个问题,我只是想知道是否有其他方法可以解决这个问题。谢谢@MichaelHungerWhen你遇到问题了吗?你可能会有一个Vehicle超类。事实上,当一个用户拥有一辆车的时候,它会告诉我“EndNode不能为null”,有一个超类可以解决这个问题,我只是想知道是否有其他方法可以解决这个问题。谢谢@MichaelHungerThanks,我终于有了一个超类。谢谢,我终于有了一个超类。