我制訂之間的雙向多到許多異常的實體課程和見習以下方式:@ManyToMany重複條目異常
Course
{
...
private Collection<Trainee> students;
...
@ManyToMany(targetEntity = lesson.domain.Trainee.class,
cascade = {CascadeType.All}, fetch = {FetchType.EAGER})
@Jointable(name="COURSE_TRAINEE",
joincolumns = @JoinColumn(name="COURSE_ID"),
inverseJoinColumns = @JoinColumn(name = "TRAINEE_ID"))
@CollectionOfElements
public Collection<Trainee> getStudents() {
return students;
}
...
}
Trainee
{
...
private Collection<Course> authCourses;
...
@ManyToMany(cascade = {CascadeType.All}, fetch = {FetchType.EAGER},
mappedBy = "students", targetEntity = lesson.domain.Course.class)
@CollectionOfElements
public Collection<Course> getAuthCourses() {
return authCourses;
}
...
}
而不是建立在主鍵由的表兩個外鍵(從相關的兩個實體的表導入),系統會生成表「COURSE_TRAINEE」使用下面的模式:
我在MySQL 5.1和我的應用程序工作。服務器是JBoss 5.1。 有沒有人猜測爲什麼?