关于hibernate中的对应关系

来源:互联网 发布:海军知耻陆军马鹿 编辑:程序博客网 时间:2024/04/27 21:47
2014/2/21 11:11 星期五

对于hibernate中理解一对一 一对多 多对一 多对多的配置和理解

首先

@一对一
比如一个男生只能有一个女朋友 那么在java代码中就该这么配置
//男生
public class Man{
private int id;
//我们就要配置一对一
@OneToOne One(女生)ToOne(男生)
private Girl girl;
}
//女生
public class Girl{
private int id;
//女生里面也要配置一对一
@OneToOne One(男生)ToOne(女生)
private Man man;
}
@一对多
比如一个学校有多个老师,那么在java代码中就该这么配置
//学校
public class School{
private int id;
@OneToMany(一对多) One(学校)ToMany(老师)
private Set<teacher> teacherSet=new HashSet<teacher>();
}
//老师
public class Teacher{
private int id;
@ManyToOne(多对一) Many(老师 )ToOne(学校)
private School school;
}
@多对一
比如多个学生有一个数学老师,那么在java代码中就该这么配置
public class teacher{
private int id;
@OneToMany One(老师)ToMany(学生集合)
private Set<Student> studentSet=new HashSet<Student>();
}
在 学生类中配置
public class Student{
private int id;
@ManyToOne XXXX(很容易配置成One(老师)To(与)Many(学生)的关系 )XXXX
******* Many(学生)ToOne(老师)
private Teacher teacher;
}
@多对多
课程与学生之间的关系
一门课程同时有若干个学生选修 一个学生可以同时选修多门课程
public class work{
private int id;
@ManyToMany //多对多的映射
private Set<student> stuSet=new HashSet<Student>();
}
public class Student{
private int id;
@ManyToMany //多对多的映射关系
private Set<work> workSet=new HashSet<work>();
}
**关于多对多数据库的表结构
多对多映射 就是通过第三张表(中间表)去实现
中间表就是存放课程和学生的id
一个学生 一个科目 和一个中间表
0 0
原创粉丝点击