[英]Can't add more relationship to one node using neo4j spring data
我有2個節點類型,N:N關系
例如學生 - >班級
一個班級可以有一個以上的學生,一個學生可以學習一個以上的班級
我從excel文件導入學生到一個班級,我有問題,我不知道為什么?
這是我的代碼:
Student.java
@NodeEntity
public class User implements Serializable {
@GraphId
Long id;
String userCode;
String email;
String password;
String realName;
Date birthday;
String phone;
Integer gender;
Integer status;
Integer roleType;
@Relationship(type=RelationshipType.CLASS_OF_STUDENT, direction=Relationship.OUTGOING)
List<SchoolClass> listStudentClass;
}
SchoolClass.java
@NodeEntity
public class SchoolClass implements Serializable {
@GraphId
Long id;
String className;
String classCode;
String createUser;
Date createDate;
String updateUser;
Date updateDate;
@Relationship(type=RelationshipType.CLASS_OF_STUDENT, direction=Relationship.INCOMING)
List<User> students;
}
我循環從excel導入學生的地方
for(...) {
...
List<SchoolClass> listStudentClass = new ArrayList<SchoolClass>();
listStudentClass.add(schoolClass);
student.setListStudentClass(listStudentClass);
...
userRepository.save(student);
}
但是當完成循環時,只有最后一個學生與schoolClass有關系
這是neo4j spring數據問題嗎? 我使用neo4j 3.0.1和spring-data-neo4j 4.1.1.RELEASE版本。
您似乎總是創建一個新的類列表,並從Excel工作表中為每行添加一個類? 這將導致添加單個新關系並刪除所有舊關系(這可能是為什么您只保存了最后一個學生關系)。
而是將類添加到User實體上的現有列表listStudentClass
,您將在同一會話中創建或加載該實體。
更新 :
還要確保將學生添加到SchoolClass
以便在保存之前實體一致
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.