• 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" />
  • 相关阅读:
    P1019 单词接龙
    P1219 八皇后
    Find a way
    P1056 排座椅
    P1067 多项式输出
    关于前缀和,A
    洛谷P1223
    洛谷P1803
    洛谷P1208
    常用方法 Excel转换为DataSet
  • 原文地址:https://www.cnblogs.com/564085446java/p/3654364.html
Copyright © 2020-2023  润新知