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" />
  • 相关阅读:
    CentOS 7 安装Python pip
    关于 HIVE Beeline 问题
    HIVE 简单总结
    值得一提:关于 HDFS 的 file size 和 block size
    Hadoop作业优化
    一篇文章,掌握所有开源数据库的现状
    dfs.replication 参数 动态修改
    Hadoop YARN ERROR 1/1 local-dirs are bad *, 1/1 log-dirs are bad *
    Hadoop 中关于 map,reduce 数量设置
    CentOS ulimit
  • 原文地址:https://www.cnblogs.com/564085446java/p/3654364.html
Copyright © 2011-2022 走看看