JavaEE主流开源框架第二部分---Hibernate演示文稿.pptVIP

JavaEE主流开源框架第二部分---Hibernate演示文稿.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JavaEE主流开源框架第二部分---Hibernate演示文稿

一对多、多对一 双向的一对多/多对一关系是现实中最为常见的关联关系 public class A{ //A类其他属性 … //Set集合,存储B的实例 Set bs=new HashSet(); } public class B{ //B类其他属性 … //A类的一个对象,表示B所关联的A的实例 A a; } 基于主外键的一对多/多对一关联 基于主外键的一对多关系 主表的hbm.xml中,使用one-to-many 从表的hbm.xml中,使用many-to-one 基于连接表的一对多/多对一关联 基于连接表的一对多关系 主表的hbm.xml中,使用set标签的table属性,指定连接表,使用many-to-many映射 从表的hbm.xml中,使用join标签,指定连接表,使用many-to-one映射 一对一关联 一对一关联是另外一种常见关系 public class A{ //A类其他属性 … //A类关联一个B实例 private B b; } public class B{ //B类其他属性 … //B类关联一个A实例 private A a; } 基于主键的一对一关联 当从表中的外键即是主键时,称为基于主键的一对一关联 主表的hbm.xml中使用one-to-one配置 从表的hbm.xml中也使用one-to-one配置,同时使用generator class=“foreign”,指定其主键与外键相同 基于唯一外键的一对一关联 当从表中的外键拥有unique约束时,称为基于唯一外键的一对一关联 主表的hbm.xml中使用one-to-one配置 从表的hbm.xml中使用many-to-one配置,并指定unique属性为true 多对多关联 多对多关联是另外一种常见关联关系 public class A{ //A类的其他属性 … //存储B类对象的集合 private Set bs=new HashSet(); } public class B{ //B类的其他属性 … //存储A类对象的集合 private Set as=new HashSet(); } 关联映射的配置 one-to-one:一对一 one-to-many:一对多 many-to-one:多对一 many-to-many:多对多 集合映射:一对多及多对多时使用集合映射 连接查询 HQL中的连接查询分为隐式(implicit)和显式(explicit)两种 隐式连接查询不使用join关键字,默认是inner join的规则,即内连接 与SQL类似,HQL中的连接查询也有三种,即inner join,left outer join,right outer join,含义也有SQL中的关连查询类似 章节目录 TPS TPH TPC 本章实例准备 本节将对本章实例进行必要的准备 假设这样的业务需求:某网上音像店,专门经营图书和DVD 由于Book和DVD存在相同的属性,因此应该抽象出一个父类,为Product产品类,Book和DVD类基于Product类进行扩展 不管表如何设计,类的结构是基于面向对象设计分析设计得到的,可以保持不变 TPS 当主表与父类对应,从表分别对应子类时,可以使用TPS策略进行映射 只需要有一个与父类同名的hbm.xml文件 在hbm.xml中如下配置子类 joined-subclass name=“com.etc.po.Book” table=“book” catalog=“tps” key column=“id”/key property name=pagecount column=pagecount/property /joined-subclass TPH 当只设计一张表,使用标识字段区分不同对象时,可以使用TPH策略进行映射 只需要有一个与父类同名的hbm.xml文件 在hbm.xml中如下配置区分值字段 discriminator column=category type=java.lang.String /discriminator TPC 如果设计两张表,每张表包含对应对象的全部字段,那么可以使用TPC策略映射 只需要有一个与父类同名的hbm.xml文件 在hbm.xml中如下配置子类 union-subclass name=“com.etc.po.Book” table=“book” property name=“pagecount” type=“java.lang.Integer” column name=“pagecount” / /property /union-subclass 多态查询 HQL中支持多态查询,即查询父类对象时,同时可以返回符合查询条件的子类对象 如from Produ

文档评论(0)

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

会计从业资格证持证人

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

领域认证该用户于2023年05月12日上传了会计从业资格证

1亿VIP精品文档

相关文档