Java-EE轻量级框架应用开发 Hibernate的关联映射.pptVIP

Java-EE轻量级框架应用开发 Hibernate的关联映射.ppt

  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文档。上传文档
查看更多
Java-EE轻量级框架应用开发第6章-Hibernate的关联映射 本章要点 多对一映射 一对多映射 一对一映射 多对多映射 双向映射 Hibernate的主要目的就是Java程序员可以随心所欲的使用对象编程思维来操纵数据库 一些数据库表的关系应该可以通过hibernate实现,比方在数据库中常用到的主外键关系;还有一些跟主外键有关的设置,比方主键的信息被删除,外键关联的信息也要删除等等 如果把表抽象为实体类,这些关系可以抽象为实体类之间的一对一、多对一、一对多、多对多等关系。在Hibernate正确的配置这些关系以后,Hibernate能够处理这些复杂的关系,提高了开发的效率 多对一映射配置 如果规定一个客户〔Customer〕可以建立多个订单〔Order〕,一个订单只属于一个顾客,这就是一个多对一关联 从Order 到 Customer 的多对一单向关联需要在Order 类中定义一个 Customer 属性,而在 Customer 类中无需定义存放 Order 对象的集合属性 关系数据模型 Order表中的 customer_id 参照 customer表的主键id 通过在映射文件中的many-to-one元素,可以定义持久化类间的多对一的关联,这种关系模型实际上是一个对象引用 many-to-one name=propertyName ① column=column_name ② class=ClassName ③ cascade=all|none|save-update|delete ④ outer-join=true|false|auto ⑤ update=true|false ⑥ insert=true|false ⑥ property-ref=propertyNameFromAssociatedClass ⑦ access=field|property|ClassName ⑧ / 说明 ① name:属性名 ② column〔可选〕:字段名 ? ③ class〔可选,默认是通过反射得到属性类型〕:关联的类的名字 ④ cascade〔级联〕〔可选〕:指明哪些操作会从父对象级联到关联的对象,cascade属性允许以下值 none::在保存,更新或删除当前对象时,忽略其他关联的对象,它是cascade属性的默认值 save-update:当通过Session 的 save() , update() 以及saveOrUpdate()方法来保存或更新当时对象时,级联保存所有关联的新建的临时对象,并且级联更新所有关联的游离对象 delete:当通过Session 的 delete()方法删除当前对象时,级联删除所有关联的对象 all: 包含save-update以及delete的行为. 此外,对当前对象执行evict()或lock()操作时,也会对所关联的持久化对象执行evict()和lock()操作 delete-orphan :删除所有和当前对象解除关联关系的对象 all-delete-orphan :包含all 和 delete-orphan的行为 ⑤ outer-join〔外连接〕〔可选,默认为自动〕:当设置hibernate.use_outer_join时,对这个关联允许外连接抓取。outer-join参数允许以下3个不同值 auto〔默认〕:如果被关联的对象没有代理〔Proxy〕,使用外连接抓取关联〔对象〕 true:一直使用外连接来抓取关联 false:永远不使用外连接来抓取关联 ⑥ update、insert〔可选,默认为true〕:指定对应的字段是否在用于UPDATE和/或INSERT的SQL语句中包含。如果二者都是false,那么这是一个纯粹的“衍生〔Derived〕〞关联,它的值是通过映射到同一个〔或多个〕字段的某些其他属性得到的,或者通过Trigger〔触发器〕,或者其他程序 ⑦ property-ref:〔可选〕:指定关联类的一个属性,这个属性将会和本外键相对应。如果没有指定

文档评论(0)

一只想飞的猫 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档