Hibernate学习3:多对一关联映射
文章目录
多对一关联关系是Hibernate中很重要的一种关联关系。下面我们举例说明Hibernate中多对一的关联关系。
ER图
部门表有两个字段,id和部门名称name,id是主键;
员工表的主键是id,name指的是员工姓名,department_id是外键。
员工和部门就是多对一的关联关系。
实体类(JavaBean)
Department.java
1 | public class Department { |
Employee.java
1 | public class Employee { |
映射文件
Department.hbm.xml
1 | <?xml version="1.0"?> |
Employee.hbm.xml
1 | <?xml version="1.0"?> |
Hibernate提供many-to-one标签来实现多对一关联关系:1
<many-to-one name="depart" class="Department" column="depart_id"/>
- name: 设定待映射的持久化类的属性的名字
- column: 设定和持久化类的属性对应的表的外键
- class:设定待映射的持久化类的属性的类型
测试类Many2One
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19public void add() {
Session s = null;
Transaction tx = null;
try {
Department depart = new Department();
depart.setName("depart name");
Employee emp = new Employee();
emp.setDepart(depart); //对象模型,建立两个对象的关联关系
emp.setName("emp name");
s = HibernateUtil.getSession();
tx = s.beginTransaction();
s.save(depart);
s.save(emp);
tx.commit();
} finally {
if (s != null)
s.close();
}
}