Multiple/Optional 端节点 Neo4j
Multiple/Optional EndNode Neo4j
当前情景:
用户可以拥有一辆汽车和一辆摩托车,因此用户可以拥有 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 不能为空的错误,这在这一点上是可以理解的。有没有办法让另一个 endNode 可选?
谢谢
可能是对@RelationshipEntity 的误解?
关系实体只是两个节点之间具有属性的关系。
@StartNode
Car car;
@EndNode
Motorcycle motor;
是说汽车拥有摩托车。
你想要的是拥有汽车或摩托车的用户,所以如果你有迈克尔建议的超类 Vehicle
,那么你将拥有以下内容:
@RelationshipEntity(type = "OWNS")
public class Owns {
@GraphId
Long relationshipId;
private int price;
@StartNode
User user;
@EndNode
Vehicle vehicle;
}
用户会:
@Relationship(type="OWNS")
Set<Owns> vehiclesOwned;
并且这个集合中可以有零个或一个或多个车辆。
当前情景:
用户可以拥有一辆汽车和一辆摩托车,因此用户可以拥有 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 不能为空的错误,这在这一点上是可以理解的。有没有办法让另一个 endNode 可选?
谢谢
可能是对@RelationshipEntity 的误解? 关系实体只是两个节点之间具有属性的关系。
@StartNode
Car car;
@EndNode
Motorcycle motor;
是说汽车拥有摩托车。
你想要的是拥有汽车或摩托车的用户,所以如果你有迈克尔建议的超类 Vehicle
,那么你将拥有以下内容:
@RelationshipEntity(type = "OWNS")
public class Owns {
@GraphId
Long relationshipId;
private int price;
@StartNode
User user;
@EndNode
Vehicle vehicle;
}
用户会:
@Relationship(type="OWNS")
Set<Owns> vehiclesOwned;
并且这个集合中可以有零个或一个或多个车辆。