首页 / 操作系统 / Linux / Hibernate关联映射---多对一实例分析(单项关联)
一 关联映射类型1.多对一(Employee - Department) 多对一关联是一个部门可以有多个员工 所用到的映射文件为: <many-to-one name="depart" column="depart_id"/>二 代码分析1.首先创建两个类,Department和Employee,并把他们关联起来(1)Department类package com.hbsi.domain;//部门类public class Department { private int id; private String name; public Department() { super(); // TODO Auto-generated constructor stub } public Department(int id, String name) { super(); this.id = id; this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String toString() { return "Department [id=" + id + ", name=" + name + "]"; }}(2)Employee类 package com.hbsi.domain; //员工类 一般主鍵是建在多的一方 public class Employee { private int id; private String name; // 得到的是一个 对象,可以得到员工对应的部门的详细信息 private Department depart; public Employee() { super(); // TODO Auto-generated constructor stub } public Employee(int id, String name, Department depart) { super(); this.id = id; this.name = name; this.depart = depart; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Department getDepart() { return depart; } public void setDepart(Department depart) { this.depart = depart; } public String toString() { return "Employee [id=" + id + ", name=" + name + ", depart=" + depart + "]"; } } 注:之所以在员工表中设主键是为了减少资源消耗,而如果设置private int depart_id; 通过员工查找部门的话,只能找到部门的id,得不到部门的其他信息 , 设置的Deparment的类对象作为外键,可以得到部门的所有信息