关联映射

来源:互联网 发布:腾讯软件推广联盟 编辑:程序博客网 时间:2024/05/22 02:20

关联映射

多对一映射与一对多映射


javabean设计:

public class Dept {private int deptId;private String deptName;// 【一对多】 部门对应的多个员工private Set<Employee> emps = new HashSet<Employee>();public class Employee {private int empId;private String empName;private double salary;// 【多对一】员工与部门private Dept dept;

Dept.hbm.xml配置

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="cn.itcast.b_one2Many"><class name="Dept" table="t_dept"><id name="deptId"><generator class="native"></generator></id><property name="deptName" length="20"></property><!-- 一对多关联映射配置  (通过部门管理到员工)Dept 映射关键点:1.  指定 映射的集合属性: "emps"2.  集合属性对应的集合表: "t_employee"3.  集合表的外键字段   "t_employee. dept_id"4.  集合元素的类型 --> <set name="emps">   <!-- table="t_employee" -->  <key column="dept_id"></key>  <one-to-many class="Employee"/> </set>  </class></hibernate-mapping>

Emploee.hbm.xml配置

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="cn.itcast.b_one2Many"><class name="Employee" table="t_employee"><id name="empId"><generator class="native"></generator></id><property name="empName" length="20"></property><property name="salary" type="double"></property><!-- 多对一映射配置Employee 映射关键点:1.  映射的部门属性  :  dept2.  映射的部门属性,对应的外键字段: dept_id3.  部门的类型 --> <many-to-one name="dept" column="dept_id" class="Dept"></many-to-one> </class></hibernate-mapping>

App.java测试类略·······

数据库截图:

t_dept      t_employee

0 0