关联映射:
1.关于n:1 使用emp和dept进行举例
单项多对一:
emp:
entity:+private Dept dept;
hbm.xml:+
dept无需修改

 双向一对多:emp:entity:+private Dept dept;hbm.xml:+<many-to-one name="dept" column="deptno" class="com.entity.Dept" cascade="save-update" />dept:entity:+private List<Emp> emps;hbm.xml:+<bag name="emps" inverse="true" cascade="all"><key><column name="DEPTNO" precision="2" scale="0" /></key><one-to-many class="com.entity.Emp" /></bag>关于inverse和cascade的设置inverse:反转  默认inverse="false"表示主动方  一般将多方设置为主动方cascade:级联  none save-update delete all 一般对一方设置级联
2.多对多:使用Student表和Course表  中间需要一个StuCourse学生课程表单向多对多:Student:entity:+private List<Course> courses = new ArrayList<Course>();hbm.xml:<bag name="courses" table="STUCOURSE" inverse="false" cascade="save-update"><key><column name="STUNO" precision="4" scale="0" /></key><many-to-many class="com.manytomany.entity.Course" ><column name="COURSEID" precision="4" scale="0" /></many-to-many></bag>Course:无需修改注意事项:关系表中只保存两列外键,设置inverse="false",在设置级联时需要设置cascade="save-update"双向多对多:Student:entity:+private List<Course> courses = new ArrayList<Course>();hbm.xml:<bag name="courses" table="STUCOURSE" inverse="false" cascade="save-update"><key><column name="STUNO" precision="4" scale="0" /></key><many-to-many class="com.manytomany.entity.Course" ><column name="COURSEID" precision="4" scale="0" /></many-to-many></bag>Course:entity:+private List<Student> students = new ArrayList<Student>();hbm.xml:<bag name="students" table="STUCOURSE" inverse="false" cascade="save-update"><key><column name="COURSEID" precision="4" scale="0" /></key><many-to-many class="com.manytomany02.entity.Student" ><column name="STUNO" precision="4" scale="0" /></many-to-many></bag>注意事项:关系表中只保存两列外键,设置inverse="false",在设置级联时需要设置cascade="save-update"
3.一对一:Employee员工表和Passport员工信息表主键关联:Employee:entity:+private Passport passport;hbm.xml:<one-to-one name="passport"  class="com.entity.Passport" cascade="all" />Passport:entity:+private Employee employee;hbm.xml:<generator class="foreign" ><param name="property">employee</param></generator><one-to-one name="employee" class="com.entity.Employee" />注意事项:主键生成策略选择foreign唯一外键:Employee:entity:+private Passport passport;hbm.xml:<one-to-one name="passport" class="com.entity.Passport" property-ref="employee"  cascade="all" />Passport:entity:+private Employee employee;hbm.xml:<many-to-one name="employee" column="empno" class="com.entity.Employee" unique="true">注意事项:property-ref 指定关联类的属性名,这个属性将会和本类的主键相对应。如果没有指定,会使用对方关联类的主键。

更多干货获取,请记得关注我哟!

北大青鸟深圳嘉华学校分享Hibernate关联映射相关推荐

  1. 北大青鸟深圳嘉华学校分享Hibernate查询

    1.Hibernate查询方式 1.get|load(class,id):OID查询 2.HQL(Hibernate Query Lanage):HQL查询 3.QBC(Query By Criter ...

  2. 北大青鸟嘉华学院python_北大青鸟深圳嘉华:Python好学吗?

    原标题:北大青鸟深圳嘉华:Python好学吗? Python作为近两年随着人工智能一道火起来的语言,很多人知道Python,但是并不清楚的了解.你可能听说过C语言,听说过java语言,php语言,we ...

  3. 北大青鸟深圳嘉华分享Hibernate基础入门内容

    0.Hibernate基础 0.1.什么是hibernate hibernate是免费开源的框架,是一个OR-Mapping映射工具, 将实体类和数据库表形成映射关系,是一个优秀的持久层解决方案,hi ...

  4. 北大青鸟深圳嘉华分享MySQL基础知识

    命令行连接MySQL mysql -h localhost -u root -p mysql -u root -p #1.数据库的创建和删除 #1.1创建数据库 CREATE DATABASE MyS ...

  5. 北大青鸟深圳嘉华分享MySQL用户管理

    1.创建用户 CREATE USER teacher@localhost IDENTIFIED BY '123456'; CREATE USER student IDENTIFIED BY '1234 ...

  6. 实战检测北大青鸟某地方学校网站

    本文写的是一次曲折的拿北大青鸟某地方学校网站shell的过程. 之前也曾拿过一个北大青鸟某网站的文章,我再次萌生了我个北大青鸟的网站练练手的想法.其实以前我也尝试过检测了几个北大青鸟地方学校的网站,简 ...

  7. HIbernate关联映射小案例(CRUD)

    做了一个hibernate关联映射的小案例(CRUD),包含一对多.多对多的映射关系. 先看概念数据模型 Student表因可能出现重名所以采用联合主键. School实体类 package org. ...

  8. Hibernate 关联映射 之 多对多 关联(二) 之拆分

    1.由问题引出一个多对多拆分成两个多对一 问题:Hibernate 关联映射 之 多对多 关联(一)中中间表只是一个存放用户和角色的表,并无其他作用,如果客户有其他的需求,该表就无法扩展. 2.问题解 ...

  9. Oracle primary,unique,foreign 区别,Hibernate 关联映射

    Oracle primary,unique,foreign 区别 转:http://www.cnblogs.com/henw/archive/2012/08/15/2639510.html NOT N ...

最新文章

  1. Tensorflow源码解析5 -- 图的边 - Tensor
  2. oracle11g程序调优纪实
  3. 填个小坑,Vue不支持IE8及以下,跨域ajax不支持IE9
  4. 字符流Reader对象创建子类及方法
  5. [管理心得] 稻盛和夫为日航危机出诊--人情营销的典型
  6. 【光斑定位】空间激光通信、光斑定位、CCD、光斑定位——13000字
  7. K - TimesIsMoney(查询)
  8. 计算机应用技能大赛海报,2017年计算机应用工程系技能大赛汇总 ——大赛点亮人生 技能改变命运...
  9. 12.源码阅读(app启动流程-android api 26)
  10. 【做题记录】 [HEOI2013]SAO
  11. 我如何在昌迪加尔大学中心组织Google Hash Code 2019
  12. Investigating Div-Sum Property【数位DP】
  13. 深入解析React创建组件的三种方式
  14. 信息学奥赛一本通(1210:因子分解)
  15. 安装redis3.2.4集群时出现的一些坑
  16. oracle左连接没用_oracle左外连接不显示正确的空值
  17. (12)Zynq CAN控制器介绍
  18. oracle 一个实例创建多个数据库_Oracle闪回,为你的数据库上一个安全防线
  19. Jquery瀑布流插件
  20. Perl语言变量之Scalar变量

热门文章

  1. matlab中h无穷状态反馈控制,求教 :用LMI方法求倒立摆H无穷状态反馈控制器程序...
  2. java调用接口速度慢,Java 调用 webservice 接口,为什么这么慢
  3. SpringBoot通过logback将日志写到本地文件里面
  4. 股票数据接口的获取方法有哪几种?
  5. “挑战杯”中国大学生创业计划竞赛创业企划书100篇(二)- 武汉思睿锦程环保建材科技有限公司创业计划书(材料类)...
  6. Sql server 行列转换 PIVOT UNPIVOT
  7. Auto CAD使用快捷键
  8. sequence 序列
  9. 【ArcGIS微课1000例】0031:ArcGIS中的32个拓扑规则(图文详解)
  10. 对比学习系列(四)---BYOL