首页 > 代码库 > 双向一对多

双向一对多

1.在一的一方实体类里添加多的一方的集合

public class Dept {    private Integer deptNo;    private String deptName;        //加入员工集合    private Set<Emp> emps=new HashSet<Emp>();            public Set<Emp> getEmps() {        return emps;    }    public void setEmps(Set<Emp> emps) {        this.emps = emps;    }                public Integer getDeptNo() {        return deptNo;    }    public void setDeptNo(Integer deptNo) {        this.deptNo = deptNo;    }    public String getDeptName() {        return deptName;    }    public void setDeptName(String deptName) {        this.deptName = deptName;    }

2.双向的一对多需要在一的一方的小配置里添加<set></set>元素:

<?xml version=‘1.0‘ encoding=‘utf-8‘?><!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.a.happy">     <class name="Dept" table="DEPT">        <id name="deptNo">        <!-- native   数据库方言的可移植性 -->           <generator class="sequence">               <param name="sequence">SQE_NUM</param>           </generator>        </id>                <property name="deptName"/>                <!--             inverse="false" 主动方 维护关联关系            inverse="true" 被动方 不维护关联关系(不干扰Emp主键生成)         -->         <!-- 一对多 -->        <set name="emps" cascade="save-update,delete" inverse="true" >            <key column="deptNo"/>    <!-- 一的一方的外键 -->            <one-to-many class="Emp"/>    <!-- 外键的成员类型 -->        </set>            </class></hibernate-mapping>

测试类:

/**         * 双向一对多关联测试         * 添加操作         */        @Test        public void onVsMuchTest(){            //构建一个部门            Dept dept=new Dept();            dept.setDeptName("就业部");                        //构建一个员工            Emp emp=new Emp();            emp.setEmpName("啦啦啦");                        //指定员工隶属部门                        dept.getEmps().add(emp);                        //save()            session.save(dept);            session.save(emp);                    }

测试成功:

技术分享

看一下数据库:

DEPT表:

技术分享

EMP表:

技术分享

 

双向一对多