现在我有学生和课程两个实体:
关键代码如下:
Student.java@ManyToMany(cascade = {CascadeType.REFRESH,CascadeType.MERGE,CascadeType.PERSIST},fetch = FetchType.LAZY)
@JoinTable(name = "study",inverseJoinColumns=@JoinColumn(name = "cid"),joinColumns =@JoinColumn(name = "sid"))
public Set<Course> getCourses() {
return courses;
}Course.java@ManyToMany(mappedBy = "courses" ,cascade = {CascadeType.REFRESH,CascadeType.MERGE,CascadeType.PERSIST},fetch = FetchType.LAZY)
public Set<Student> getStudents() {
return students;
}
问题出在:
当我把学生从数据库中查询出来之后,然后修改学生中的课程(课程也是从数据库中查询出来的),然后更新学生,抛了如下异常:
java.lang.IllegalStateException: An entity copy was already assigned to a different entity.
请问如何解决。感谢感谢。