以下是以A
(UserN)和B
(UserRoleN)作为对象的模型。
@NodeEntity()
public class UserN
{
@GraphId
private Long id;
@Relationship(type = "hasRole", direction = Relationship.OUTGOING)
private List<UserRoleN> role;
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public void setRole(List<UserRoleN> role) {
this.role = role;
}
public List<UserRoleN> getRole() {
return role;
}
}
@NodeEntity()
public class UserRoleN
{
@GraphId
private Long id;
private String name;
public Long getName() {
return version;
}
public void setName(String name) {
this.name = name;
}
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
}
在数据库中,以下是图形结构:
A->B
加载A,session.load(A.class, id, 1)
时,在A对象下加载总共2个B对象,其中一个B的ID为空,其他B对象ID为neo4j。
无法理解为什么在数据库只有一个B对象的情况下加载重复的B.