跳到主要内容

13、Spring Data JPA 实战 - 多表关系与多表操作步骤

1. 一对一

 

一对一是一对多的特殊情况

2. 一对多

 

一的一方是:主表

多的一方是:从表

外键:需要再从表上新建一列作为外键,他的取值来源于主表的主键

3. 多对多

 

需要添加一个中间表

中间表:中间表中最少应该由两个字段组成,这两个字段做为外键指向两张表的主键,又组成了联合主键

4. 实体类中的关系

包含关系:可以通过实体类中的包含关系描述表关系

继承关系

ORM框架全部操作的是实体类,类之前的关系有包含关系和继承关系

如一对多:

  1. 一个老师对应多个学员,老师抽象为Teacher类,学生抽象为Student类
  2. 因此可以通过包含关系来描述表之间的关系

5. 操作步骤

以客户和联系人的关系(一对多)

客户:一家公司
联系人:该公司员工
一个客户可以具有多个联系人;一个联系人从属于一家公司

初学者角度:以上面的案例举例

1、 目前表之前的关系;

一对多关系

2、 确定表关系(通过外键或中间表描述);

主表:客户表
从表:联系人表,需要在从表上添加外键

3、 编写实体类,在实体类中描述表关系(包含关系);

客户:再客户的实体类中包含一个联系人的集合
联系人:在联系人的实体类中包含一个客户的对象

4、 配置映射关系;

使用jpa注解配置一对多映射关系