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" 多对多关系维护表表名称
//inverseJoinColumns=@JoinColumn(name = "teacher_id") 关系被维护端外键定义(关系维护表中的属性字段名称)
//JoinColumns = @JoinColums(name = "student_id")关系维护端外键定义(关系维护表中的属性字段名称)
)
getTeachers(){} getStudents(){}
} }
1。通过中间表维护关系,双方都可以作为关系的维护端。
2。如果不设置关系维护表的外键字段定义,默认为实体中属性名称加上"_id",即teachers_id,students_id
3。在双向的多对多关系中不能设置,级联删除。这样有可能将数据库表清空掉。
JPA ManyToMany双向关系
最新推荐文章于 2021-05-13 18:23:33 发布