Welcome 微信登录

首页 / 操作系统 / 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的类对象作为外键,可以得到部门的所有信息