版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、企业级JAVA II,软件工程系:聂常红 cred_,内容回顾:,Session和SessionFactory缓存机制 使用MyEclipse创建数据库连接 连接池的使用 继承映射的三种策略,第11讲 关联映射,11.1 概述 11.2 多对一与一对多关联 11.3 一对一关联 11.4 多对多关联,11.1 概述,一个信息系统中的数据库表之间经常存在一定的关联关系,同样持久化类之间也存在一定的关联关系,使用Hibernate可以将这两种关联关系进行映射。 类之间的关联是指一个类可以访问另一个类的属性和方法 根据关联的导航性,可以分为单向关联和双向关联 关联方式: 一对一 一对多或多对一 多对
2、多,11.2 多对一和一对多关联,多对一和一对多关联是从不同的方向来看的结果,如用户和银行帐户,从用户角度看是一对多关系;而从银行帐户角度看则是多对一关系,单向多对一关联,语法: 需要在“多”的一方(主动方)的持久化类中声明一个“一”方(被动方)类型的属性 在“多”的一方的映射文件中使用来定义关联关系 需要在中使用column属性设置指向被动方主键的关联外键,对象模型图,单向多对一关联应用示例,创建持久化类Accout.java:,创建持久化类User.java:,编写映射文件Accout.hbm.xml :,编写映射文件User.hbm.xml :,修改hibernate.cfg.xml,编
3、写DAO接口及其实现类:,编写DAO接口及其实现类:,编写测试类:,单向一对多关联,语法: 需要在“一”的一方(主动方)的持久化类中声明一个元素为“多”方(被动方)类型的集合属性 在主动方的映射文件中使用设置关联属性 在标记对之间必须使用设置被动方映射表中与主动方映射表关联的外键字段名 使用来定义关联关系 可在中使用cascade属性设置级联操作(可选),级联操作:是指主动方对象执行操作时,被关联对象(被动方)是否同步执行同一操作,常用属性值:save-update, delete,merge,persist,all等,对象模型图,单向一对多关联应用示例,创建持久化类User.java:,创建
4、持久化类Accout.java:,编写映射文件User.hbm.xml :,声明一个被动方映射表中的外健字段名,编写映射文件Accout.hbm.xml :,编写测试类:,双向一对多关联,语法: 同时应用单向一对多和单向多对一关联的语法 可在一对多关联的设置中设置控制反转:在中设置属性inverse=“true”可将控制权由“一”方转给“多”方(可选),对象模型图,双向一对多关联应用示例,创建持久化类User.java:,创建持久化类Accout.java:,编写映射文件User.hbm.xml :,编写映射文件Accout.hbm.xml :,编写测试类:,11.3 一对一关联,一对一关系表
5、在hibernate映射中使用两种处理方式: 唯一外键: 是多对一的特殊形式,要求在多方映射表中指向一方的外键不能重复出现 共享主键: 指的是主动方的主键通过外键的方式使用被动方的主键,对象模型图,唯一外键关联,语法: 需要在关联主动方中声明一个关联被动方类型的属性 需要在关联主动方的映射文件中使用来定义关联关系,并且设置其属性unique=“true” 如果是双向关联,则在另一个关联方的映射文件中使用来定义关联关系,唯一外键关联应用示例,创建持久化类Manager.java:,创建持久化类Department.java:,编写映射文件Manager.hbm.xml,编写映射文件Departm
6、ent.hbm.xml,编写测试类:,共享主键关联,语法: 需要在关联主动方中声明一个关联被动方类型的属性 需要在每个持久类的映射文件中使用来声明一对一关联关系 主动方的主键生成方式必须设置为“foreign”,编写映射文件Department.hbm.xml,11.4 多对多关联,多对多关联通常需要使用一个中间表来关联,对象模型图:,语法: 需要在关联主动方的持久化类中声明一个元素为被动方类型的集合属性 在主动方的映射文件中使用定义被动方类型的属性,并使用table属性定义中间表 在标记对之间使用 定义主动方在中间表中映射的外键 使用来定义关联关系,并在其中使用column属性定义被动方在中间表中映射的外键,双向多对多关联应用示例,创建持久化类Order.java:,创建持久化类Product.java:,编写映射文件Order.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国中图版高中信息技术选修2第三单元第二节动画新天地2、《制作音乐动画》教学设计
- Unit3 The lnternet Discovering useful structures教学设计-2023-2024学年高中英语人教版(2019)必修第二册
- Unit 8 课时3 语法2023-2024学年七年级上册英语高效课堂教学设计(牛津深圳版)
- 小学科学教科版五年级上册:1-我们的身体-教学设计
- 2《找春天》教案 2023-2024学年统编版二年级语文下册
- 小学语法-代词(教学设计)-2023-2024学年译林版(三起)英语六年级下册
- 2024年秋九年级历史上册 第一单元 亚非文明古国 第2课 古巴比伦王国教案 川教版
- 【高效备课】人教版八(上) 13.1 轴对称 13.1.1 轴对称 教案
- 小学英语人教版(PEP)三年级下册 Recycle 1教学设计
- Module 2 Unit2 My Family(教学设计)-2024-2025牛津上海版(试用本)英语一年级上册
- 苏教版四年级上册数学《2.8被除数和除数末尾都有0的除法》课件
- 《专题了解班级学生》ppt课件
- 哥弟终端营运规范
- 湘少版四年级英语上册教案
- 广东某铁路站前工程施工防洪度汛施工方案(附示意图)
- 实习生输送服务协议书
- NYPE46(土产格式)中英对照版本
- 用Arduino设计一个智能日晷
- 浅谈我国社区居民参与问题
- 医疗纠纷预防调研报告
- CNG加气母站项目建设与运营管理相关手续申报审批实施细则
评论
0/150
提交评论