我正在使用Spring Data Neo4j 4.0.0与Neo4j 2.2.1,我试图创建两个节点之间的关系完全相同的标签。Spring Data Neo4j 4.0.0:无法创建具有相同标签的节点之间的关系
所以,我有一个NodeEntity类,我有一个与类本身类型相同的变量,并将其注释为关系。 但是,当我使用存储库对象的save()方法将对象保存到数据库时,无法创建关系。
先谢谢您,您的建议将非常感谢!
EDIT
这里是节点实体类
public class ArchitectureUnitState extends UnitState {
public ArchitectureUnitState()
{
super();
}
public ArchitectureUnitState(String name, String description, String parentArchitectureUnitName)
{
super(name, description);
this.parentArchitectureUnitName = parentArchitectureUnitName;
}
@Relationship(type="PART_OF", direction = Relationship.OUTGOING)
private ArchitectureUnitState architectureUnitState;
@Relationship(type="STATE_OF", direction = Relationship.OUTGOING)
private ArchitectureUnit architectureUnit;
@Transient
private String parentArchitectureUnitName;
public void partOf(ArchitectureUnitState architectureUnitState) {
this.architectureUnitState = architectureUnitState;
}
public void stateOf(ArchitectureUnit architectureUnit) {
this.architectureUnit = architectureUnit;
}
public void childOf(String parentArchitectureUnitName) {
this.parentArchitectureUnitName = parentArchitectureUnitName;
}
public String getParentName() {
return parentArchitectureUnitName;
}
}
@NodeEntity
public class UnitState {
@GraphId
protected Long id;
private String name;
private String description;
public UnitState() {
}
public UnitState(String name, String description) {
this.name = name;
this.description = description;
}
public void setName(String name) {
this.name = name;
}
public void setDescription(String description) {
this.description = description;
}
public String getName() {
return name;
}
public String getDescription() {
return description;
}
}
因此,该序列为:I创建的ArchitectureUnitState目的,映射一个到另一个,然后保存与ArchitectureUnitStateRepository的保存()方法。
如果我这样做,不会创建PART_OF关系,尽管我在调试中看到这些值在那里。
我现在的解决方法是先保存所有ArchitectureUnitState节点,再从数据库中检索它们,将一个映射到另一个,然后再保存一次。这样,可以创建关系,但我需要保存两次。
我们有这样一类测试:@NodeEntity(标记= “A”) \t公共静态类A延伸E { \t \t @Relationship(类型= “EDGE”,方向= Relationship.INCOMING ) \t \t A a; \t} 请发布您的实体课程和代码,以便我们可以帮助您 – Luanne
@Luanne我编辑了我的帖子。谢谢! –