对象关系映射
1.多对一
案例:多个员工对象属于同一个部门对象
employee表
id | name | dept_id |
---|---|---|
1 | Lucy | 10 |
2 | Will | 10 |
3 | Lily | 10 |
department表
id | name |
10 | 技术部 |
20 | 测试部 |
Employee实体
public class Employee{
private Long id;
private String name;
private Department dept;
}
Department实体
public class Department{
private Long id;
private String name;
}
保存操作
内联映射
2.一对多
Department实体
public class Department{
private Long id;
private String name;
private List<Employee> emps=new ArrayList<>();
}
Employee实体
public class Employee{
private Long id;
private String name;
}
保存操作
单向的one2many关系。many方往往不会去维护外键,只能one方去维护。在保存完one方和many方后,one方会再次发送额外的update的SQL去设置外键值。因为额外的SQL此时会造成性能降低,所以开发中往往设计成单向的many2one的关系。