第二章Hibernate关系映射资料.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
many-to-many关联 数据库设计 project和employee是多对多关系 需要建立一个关系表 many-to-many关联 多对多关系怎么映射呢? 一对多单向关联 一对多单向关联关系中,需要在一端的映射文件中加入如下内容: 一对多单向关系 set元素包括以下属性: name:设定待映射的持久化类的属性名,这里为Clazz类的students属性; lazy: 是否采用延迟加载。 inverse: 用于标识双向关联中的被动方一端,inverse=false的一方(主控方)负责维护关联关系,默认值 为false。 cascade 操作级联(cascade)关系,可选值为all : 所有情况下均进行级联操作;none:所有情况下均不进行级联操作;save-update:在执行save-update时进行级联操作. set元素的常用属性 set元素的常用属性 属性 含义和作用 必须 默认值 name 映射类属性的名称 Y table 关联类的目标数据库表 N lazy 指定关联对象是否使用延迟加载以及延迟加载的策略 N proxy fetch 设置抓取数据的策略 N select 一对多单向关联 set元素还包含两个子元素: key key元素设定与所关联的持久化类对应的表的外键,此处为student表的cls_id one-to-many one-to-many元素设定所关联的持久化类,此处为Student类。 双向一对多关联 单向一对多 单向多对一 同时配置两者就成了双向一对多关联 一对多双向关联 一对多(多对一)双向关联是多对一单向关联和一对多单向关联的综合,在关系的双方都进行关联 一对多双向关联 多对一双向关联CRUD cascade属性 set节点、many-to-one节点以及one-to-one节点拥有此属性 属性值有: all:所有情况下均进行级联操作; none:所有情况下均不进行级联操作; save-update:在执行save-update时进行级联操作。 delete:在执行delete时进行级联操作。 作用: 它指的是当主控方执行操作时,关联对象(被动方)是否同步执行同一操作。 inverse属性 术语“inverse”直译为“反转” 在Hibernate 中,inverse属性指定了关联关系中的方向 关联关系中,inverse=false 的为主动方,由主动方负责维护关联关系 在一对多关联中,将one 方的inverse 设置为true,这将有助性能的改善 set name=streets table=street cascade=all inverse=true … /set inverse指的是关联关系的控制方向,而cascade指的是层级之间的连锁操作 多对多关联关系 Hibernate关联关系中相对比较特殊的就是多对多关联,多对多关联与一对一关联和一对多关联不同,多对多关联需要另外一张映射表用于保存多对多映射信息。 由于多对多关联的性能不佳(由于引入了中间表,一次读取操作需要反复数次查询),因此在设计中应该避免大量使用。同时,在对多对关系中,应根据情况,采取延迟加载机制来避免无谓的性能开销。 多对多关联关系 如:教师和学生之间的关系 一个教师可以教多个学生 一个学生可以被多个教师教 那么学生和教师之间为多对多关系 那么在这里需要一个中间表来映射学生和教师之间的关系,如teachers_students 下面看下多对一的单向关联 在教师端进行关联 多对多关联关系 多对多单向关联关系 需要在Teacher.hbm.xml做如下映射: 多对多关联关系 多对多单向关联 Student.hbm.xml中无需做特别的映射 多对多双向关联 多对多双向关联: 多对多双向关联需要在单向的基础上做如下改动: 为Student对象添加关联关系 为Student.hbm.xml做关联映射 第二章 Hibernate对象关系映射 上节回顾 Hibernate的映射文件详细配置 掌握Hibernate应用的七个步骤 熟练使用Hibernate实现如下操作 添加数据 修改数据 删除数据 基本查询操作 主要内容 对象关系映射 一对一单向关联 一对一双向关联 多对一单向关联 一对多单向关联 多对一双向关联 本讲目标 掌握Hibernate对象关系映射 多对一单向关联(重点) 多对一双向关联(重点) 一对一单向关联 一对一双向关联 什么是关联关系 什么是关联关系 关联关系表示不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起 进行关联操作的好处 在Hibernate中关联关系表现在所映射的表与表之间的关系,采用关联操作,能够使有关系的表之间保持数据的同步

文档评论(0)

33894522 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档