zoukankan      html  css  js  c++  java
  • hibernate 一对一关联映射

    一,按照外键映射

      1,在两端添加对方的属性;

          Manager 类 :private Department department;

          Department类 :private Manager manager;

      2,在任意一端的映射文件添加:

        .比如在 Department.hbm.xml中:

          <many-to-one name="manager" column="mafk" class="com.m01.fk121.Manager" unique="true"></many-to-one>

          name : 本bean类中的属性; column: 本bean类对应的数据表的 指向 对方数据表的外键;

          class :属性所对应的全类名;

          unique : 设置该外键为唯一的;

        .在 Manager.hbm.xml中

          <one-to-one name="department"
            class="com.m01.fk121.Department" property-ref="manager"></one-to-one>

          name:本bean类中的属性;

          property-ref: 对方bean类中 指向本类的属性 即 Department类 :private Manager manager;


    二,按照主键映射  

      1,在两端添加对方的属性;

         Wife类: private HusBand husBand;     

         HusBand 类: private Wife wife; 

      2, 修改映射文件

        如:在 HusBand .hbm.xml 添加

          <id name="hId" type="java.lang.Integer" >
            <column name="HID" />
              <generator class="foreign">
                <param name="property">wife</param>
              </generator>
          </id>

          class="foreign" 设置该Bean对应的数据表的主键生成方式 外键 模式 依赖 属性 wife 表明根据对方的主键来生成 

          <one-to-one name="wife"
          class="com.m01.pk121.Wife" constrained="true"></one-to-one>

          constrained="true" :使得当前主键添加外键约束

          在 Wife.hbm.xml 添加

          <one-to-one name="husBand" class="com.m01.pk121.HusBand"></one-to-one>

  • 相关阅读:
    variant conversion error for variable:v8
    oracle第二步创建表空间、用户、授权
    Java WEB 乱码解决大全
    跳转的两种方式(转发与重定向)
    jsp页面中 <%%> <%! %>, <%=%> <%-- --%>有什么区别
    Web.xml中Filter过滤器标签几个说明
    SSH面试题(struts2+Spring+hibernate)
    做一个java项目要经过那些正规的步骤
    web.xml 配置中classpath: 与classpath*:的区别
    Web.xml配置详解之context-param
  • 原文地址:https://www.cnblogs.com/m01qiuping/p/6380461.html
Copyright © 2011-2022 走看看