关联关系映射.docVIP

  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文档。上传文档
查看更多
关联关系映射

Hibernate高级应用 ( 视频讲解:107分钟) 目前,持久层框架并非只有Hibernate,但在众多持久层框架中,Hibernate凭借着其强大的功能、轻量级的实现、成熟的结构体系等诸多优点从中脱颖而出,在Java编程中得到了广泛的应用。本章将在第14章的基础上,对其进行更加深入的讲解。 通过阅读本章,您可以: :? 掌握实体对象关系的建立 :? 掌握关联关系的映射方法 :? 理解单向关联与双向关联 :? 掌握对象间的级联操作 :? 掌握继承映射 :? 掌握HQL查询语言 15.1? 关联关系映射 ?视频讲解:光盘\TM\Video\15\关联关系映射.exe Hibernate框架是一个ORM框架,它以面向对象的编程方式操作数据库。在Hibernate中,“映射”发挥着巨大的作用,它将实体对象映射成数据表,实体对象的属性被映射为表中的字段,同样其实体之间的关联关系也是通过“映射”实现的。 15.1.1? 单向关联与双向关联 在Hibernate框架中,实体对象之间的关系可分为一对一、多对一等关联关系,其关联类型主要分为“单向关联”与“双向关联”。 (1)单向关联 单向关联指具有关联关系的实体对象之间的加载关系是单向的。它意味着,在具有关联关系的两个实体对象中,只有一个实体对象可以访问对方。如图15.1所示,从学生对象中可以加载到班级信息,反过来则不行。 (2)双向关联 双向关联指具有关联关系的实体对象之间的加载关系是双向的。它意味着,在具有关联关系的两个实体对象中,彼此都可以访问对方。如图15.2所示,从学生对象中可以加载到班级信息,从班级对象中也可加载到学生的信息。 ????? ??图15.1? 单向关联?? ??? ???? ?????????????????????????图15.2? 双向关联 15.1.2? 多对一单向关联映射 多对一单向关联映射十分常见,在学习其映射方法之前,首先来了解一下多对一单向关联的实体。如图15.3所示,图书对象(Book)与图书类别对象(Category)为多对一的关联关系,多本图书对应一个类别,在Book对象中拥有Category的引用,它可以加载到一本图书的所属类别,而在Category的一端却不能加载到图书信息。 对于多对一单向关联映射,Hibernate会在多的一端加入外键与一的一端建立关联关系,其映射后的数据表如图15.4所示。 ????? ??图15.3? 多对一单向关联的实体对象 ?? ????? ????????????????????图15.4? 映射后的数据表 例15.01? 建立图书对象(Book)与图书类别对象(Category)的多对一关联关系,通过单向关联进行映射。其关键的映射代码如下:(实例位置:光盘\TM\Instances\15.01) ?xml version=1.0? !DOCTYPE hibernate-mapping PUBLIC -//Hibernate/Hibernate Mapping DTD 3.0//EN /hibernate-mapping-3.0.dtd hibernate-mapping package=com.lyq.model class name=Book table=tb_book_manytoone1 ?????????? !-- 主键 -- ?????????? id name=id ??????????????????? generator class=native/ ?????????? /id ?????????? !-- 图书名称 -- ?????????? property name=name not-null=true length=200 / ?????????? !-- 作者 -- ?????????? property name=author not-null=true length=50/ ?????????? !-- 多对一关联映射 -- ?????????? many-to-one name=category class=Category ??????????????????? !-- 映射的字段 -- ??????????????????? column name=categoryId/ ?????????? /many-to-one /class /hibernate-mapping Hibernate的多对一单向关联是使用many-to-one标签进行映射,此标签用在多的一端。其中,name属性用于指定持久化类中相对应的属性名,class属性指定与其关联的对象。此外还需要指定数据表中所映射的字段,它使用子标签column进行设置,column标签的name属性用于一的

文档评论(0)

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

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

1亿VIP精品文档

相关文档