~~~接着之前的Hibernate框架接着学习(上篇面试过后发现真的需要学习一下框架了,不然又被忽悠让去培训。)~~~
1:Hibernate的关联映射,存在一对多和多对一映射,多对多映射:
1.1:一对多和多对一映射,举例说明:
学生和老师:
一个老师可以教多个学生 【一对多映射】
多个学生可以被一个老师教【多对一映射】
部门与员工:
一个部门有多个员工【一对多映射】
多个员工属于一个部门【多对一映射】
1.2:多对多,举例说明:
项目和开发员工:【双向一对多即多对多映射】
一个项目有多个开发人员【一对多】
一个开发人员参与多个项目【一对多】
2:一对多和多对一映射,理清以下思路就可以进行简单的开发了:
2.1:首先导入hibernate框架所需要的包哦~~~
2.2:由于是在hibernate.cfg.xml配置里面自动生成数据库和表,所以不用手动创建了
2.3:进入正题,开发创建实体类;下面是两个实体类的关键点;
Dept.java:
注意private Set<Employee> emps;//部门对应多个员工,即一对多的关系
Employee.java:
private Dept dept;//员工和部门的关系
1 package com.bie.po; 2 3 import java.util.HashSet; 4 import java.util.Set; 5 6 /** 7 * @author BieHongLi 8 * @version 创建时间:2017年3月20日 上午9:45:21 9 * 部门的实体类 10 * 关键点,是通过部门实体类维护到员工的实体类 11 */ 12 public class Dept { 13 14 private int deptId;//部门编号 15 private String deptName;//部门名称 16 17 private Set<Employee> emps;//部门对应多个员工,即一对多的关系 18 //private Set<Employee> emps = new HashSet<>();//方便赋值,这里可以直接创建实例化 19 20 21 public int getDeptId() { 22 return deptId; 23 } 24 public void setDeptId(int deptId) { 25 this.deptId = deptId; 26 } 27 public String getDeptName() { 28 return deptName; 29 } 30 public void setDeptName(String deptName) { 31 this.deptName = deptName; 32 } 33 public Set<Employee> getEmps() { 34 return emps; 35 } 36 public void setEmps(Set<Employee> emps) { 37 this.emps = emps; 38 } 39 40 41 }