首页 > 代码库 > 一对多关系映射

一对多关系映射

我们想把 部门 与 员工 这两种类型的数据保存到数据库中

假设:

       一个员工不能同时属于多个部门。那么 部门 跟员工之间的关系 ,从部门角度分析 便是 一对多的关系

第一步设计类:

      技术分享

 

第二步,实现类:

public class Department {

private Integer id;
private String departName;
private Set<Employee> employees;
    //getter & setter
}
public class Employee {

private Integer id;
private String name;
private Department department;

    //getter & setter
}

第三步,hbm.xml文件的的映射:
<!--Department.hbm.xml-->
<hibernate-mapping package="one2many">
    <class name="Department" table="t_department">
        <id name="id">
            <generator class="native"/>
        </id>
        <property name="departName"/> 
        <!--employees,set集合 表达的是本类与  Employee 的 一对多 关系-->
        <set name="employees" table="t_employee">
            <key column="departmentId"></key>
            <one-to-many class="one2many.Employee"/>
        </set>
    </class>
</hibernate-mapping>
 
<!--Employee.hbm.xml-->
<hibernate-mapping package="one2many">
    <class name="Employee" table="t_employee">
        <id name="id">
            <generator class="native"/>
        </id>
        <property name="name"/>
        <!--department属性,表达的是本类与 Department 的 多对一 关系-->
        <many-to-one name="department" class="one2many.Department" column="departmentId"/>
    </class>
</hibernate-mapping>

 

根据xml文件来分析出数据库中的表:
技术分享


 

 
 

一对多关系映射