使用 spring-data-neo4j,我想创建两个类,@RelationshipEntity(type="OWNS")
用于将一个Person
类链接到 aPet
和Car
.
@RelationshipEntity(type="OWNS")
public class OwnsCar {
@Indexed
private String name;
@StartNode
private Person person;
@EndNode
private Car car;
}
@RelationshipEntity(type="OWNS")
public class OwnsPet {
@Indexed
private String name;
@EndNode
private Person person;
@StartNode
private Pet pet;
}
这可以正确保存到图形数据库中,没有问题,因为我可以查询实际Node
并Relationship
查看它们的类型等。
但是当我尝试使用时,@RelatedTo(type="OWNS", elementClass=Pet.class)
我要么得到一个类转换异常,要么在使用延迟初始化时得到不正确的结果。
@NodeEntity
public class Person {
@Indexed
private String name;
@RelatedTo(type="OWNS", direction=Direction.OUTGOING, elementClass=Pet.class)
private Set<Pet> pets;
@RelatedTo(type="OWNS", direction=Direction.OUTGOING, elementClass=Car.class)
private Set<Car> cars;
}
当我尝试打印我的人时得到的结果(我的toString()
已被省略,但它只是toString()
为每个字段调用)是这样的:
Person [nodeId=1, name=Nick, pets=[Car [nodeId=3, name=Thunderbird]], cars=[Car [nodeId=3, name=Thunderbird]]]
有谁知道这是否可以完成,应该完成,只是一个错误或缺少的功能?