JPA ManyToMany雙向關係
阿新 • • 發佈:2019-01-09
N:M(雙向)
關係維護端
publlic class Student{ public class Teacher{
private Set<Teacher> teachers; private Set<Student> students;
@ManyToMany(cascade= @ManyToMany(cascade=
{ {
CascadeType.refresh,重新整理 CascadeType.refresh,重新整理
} }
) )
@JoinTable (
name = "student_teacher" 多對多關係維護表表名稱
//[email protected](name = "teacher_id") 關係被維護端外來鍵定義(關係維護表中的屬性欄位名稱)
//JoinColumns = @JoinColums(name = "student_id")關係維護端外來鍵定義(關係維護表中的屬性欄位名稱)
)
getTeachers(){} getStudents(){}
} }
1 。通過中間表維護關係,雙方都可以作為關係的維護端。
2。如果不設定關係維護表的外來鍵欄位定義,預設為實體中屬性名稱加上"_id",即teachers_id,students_id
3。在雙向的多對多關係中不能設定,級聯刪除。這樣有可能將資料庫表清空掉。