1. 一对一
一对一是一对多的特殊情况
2. 一对多
一的一方是:主表
多的一方是:从表
外键:需要再从表上新建一列作为外键,他的取值来源于主表的主键
3. 多对多
需要添加一个中间表
中间表:中间表中最少应该由两个字段组成,这两个字段做为外键指向两张表的主键,又组成了联合主键
4. 实体类中的关系
包含关系:可以通过实体类中的包含关系描述表关系
继承关系
ORM框架全部操作的是实体类,类之前的关系有包含关系和继承关系
如一对多:
- 一个老师对应多个学员,老师抽象为Teacher类,学生抽象为Student类
- 因此可以通过包含关系来描述表之间的关系
5. 操作步骤
以客户和联系人的关系(一对多)
客户:一家公司
联系人:该公司员工
一个客户可以具有多个联系人;一个联系人从属于一家公司
初学者角度:以上面的案例举例
1、 目前表之前的关系;
一对多关系
2、 确定表关系(通过外键或中间表描述);
主表:客户表
从表:联系人表,需要在从表上添加外键
3、 编写实体类,在实体类中描述表关系(包含关系);
客户:再客户的实体类中包含一个联系人的集合
联系人:在联系人的实体类中包含一个客户的对象
4、 配置映射关系;
使用jpa注解配置一对多映射关系