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

    一、一对一关联(有共享主键关联和惟一外键关联两种)

    1、共享主键关联
     
    比如课题是由教师去任教,没有教师就没有课题,这样课题就可以完全由教师来决定。
     
    Java示例代码如下:
     
    publicclass Course {
        private Long id;
     
        private String name;
     
        private Teacher teacher;
        // 省略setter和getter 方法
    }
     
    publicclass Teacher {
        private Long id;
     
        private String name;
     
        private Course course;
        // 省略setter和getter 方法
    }
     
    配置文件
    Teacher.hbm.xml
    <!-- cascade="all" 表明对Teacher对象CRUD的操作会级联到Course对象 -->
    <one-to-one name="course" class="powerwind.bean.Course"
        cascade="all" />
    Course.hbm.xml
    <!-- id值参照 teacher属性而生成-->
    <id name="id" type="java.lang.Long" column="id">
        <generator class="foreign">
           <param name="property">teacher</param>
        </generator>
    </id>
    <!-- teacher属性参照 -->
    <one-to-one name="teacher" class="powerwind.bean.Teacher"
               constrained="true" />
     
    2、惟一外键关联
    外键关联需要一个定义外键字段,比如在教师表定义一个课题的外键 course_id。
     
    配置文件
    Teacher.hbm.xml
    <many-to-one name="course" class="powerwind.bean.Course"
           column="course_id" cascade="save-update" unique="true"/>
    如果同时在Coure.hbm.xml加上如下配置则为双向关联。
    <one-to-one name="teacher" class="powerwind.bean.Teacher"
           property-ref="course" />
  • 相关阅读:
    ios学习笔记——UIScrollView
    ios设计模式——单例模式
    ios设计模式——生成器模式
    ios学习笔记——UITableView
    ios 第3天
    ios 第2天
    ios入门第一天
    ios 运行时特征,动态改变控件字体大小
    ios 修改导航栏返回按钮的图片
    ios 在工程中使用字体
  • 原文地址:https://www.cnblogs.com/564085446java/p/3654364.html
Copyright © 2011-2022 走看看