zoukankan      html  css  js  c++  java
  • 一对多映射关系中使用List集合的写法以及List下标由谁维护

    例子:DeptEmp是一对多的关系

    Emp:

    public class Emp implements java.io.Serializable {

     

          private Integer id;

          private Dept dept;

          private String name;

          private int turn;

    ......

    }

    Dept

    public class Dept implements java.io.Serializable {

     

          private Integer id;

          private String name;

          private List<Emp> emps = new ArrayList();

    ......

    }

    Emp.hbm.xml:

    <many-to-one name="dept" class="Dept">

                <column name="dept_id" />

    </many-to-one>

    Dept.hbm.xml:

    <list name="emps" cascade="all">

                <key column="dept_id"/>

                <list-index column="turn" base="0"/>

                <one-to-many class="Emp" />

    </list>

    Session s = HbnUtil.getSession();

    Transaction transaction = s.getTransaction();

    transaction.begin();

              

    Emp emp = new Emp();

    emp.setName("kobe");

    Dept dept = new Dept();

    dept.setName("Lakers");

              

    emp.setDept(dept);

    dept.getEmps().add(emp);

              

    s.save(emp);

    s.save(dept);

              

    transaction.commit();

    如果<list>中添加属性inverse=”true”,则turn由手工维护,

    只有当inverse=”false”时,才是由hibernate自动维护turn。

    也就是下标必须由一的一方来维护。

  • 相关阅读:
    连续时间单位冲激信号δ(t)的基本性质
    数据结构练习
    数据结构练习
    数据结构练习
    使用 matplotlib 绘制带日期的坐标轴
    数据结构练习
    c++ primer 练习10.33_p363
    C++迭代器之'插入迭代器
    C++ 11 Lambda表达式
    《C++ Primer》读书笔记—第十章 泛型算法
  • 原文地址:https://www.cnblogs.com/mabaishui/p/1587671.html
Copyright © 2011-2022 走看看