SSH轻量级框架实践课件:Hibernate的关联映射_第1页
SSH轻量级框架实践课件:Hibernate的关联映射_第2页
SSH轻量级框架实践课件:Hibernate的关联映射_第3页
SSH轻量级框架实践课件:Hibernate的关联映射_第4页
SSH轻量级框架实践课件:Hibernate的关联映射_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Hibernate的关联映射本章目标掌握单向多对一关联掌握单向一对多关联掌握双向一对多关联掌握多对多关联面向对象领域的关联关系回顾一下面向对象领域内对象和对象间的关联关系。以租房系统中的区县和街道为例,区县和街道之间的关系是典型的一对多关系,一个区县下管辖多个街道,多个街道同属于一个区县。关联关系的映射配置

与对象关系中的关联关系类似,数据库的表与表之间也存在着关联关系,主要以外键的形式体现。图5-4所示的是区县表和街道表间的关联关系。单向多对一关联的映射我们首先考虑单向多对一的情况。实体类的定义如示例代码5-1所示。通过Jd类的Qx属性体现了两个类之间的关联。Jd属于多的一方,所以这是一种典型的单向多对一关联单向一对多关联的映射Qx类的定义中加上Set类型的jds属性。最终Qx类的定义如示例代码5-4<hibernate-mappingpackage="com.xtgj.j2ee.chapter05.entity"><classname="QX"table="TBL_QX"><idname="qxid"column="qxid"type="integer"/><propertyname="qx"column="qx"type="string"not-null="false"/><setname="jds"inverse="true"lazy="false"cascade="all"> <key> <columnname="qxid"/> </key> <one-to-manyclass="com.xtgj.j2ee.chapter05.entity.JD"/></set></class></hibernate-mapping>多对多关联的映射比多对一(many-to-one)的配置稍微麻烦一点,需要创建一个<set>节点,其name属性对应到Qx类的ids属性。<set>节点下需要建立两个子节点,一个<key>节点,通过其column属性指定“多”的一方的外键字段名(注意:这里是TBL_JD表的字段名);一个<one-to-many>节点,通过其class属性指定关联到的“多”的一方的类别。只需要配置这3个信息即可。双向一对多关联的映射单向一对多和单向多对一可以分别配置使用。如果同时配置了两者,就成了双向一对多关联。其实在前面我们就已经完成了双向一对多关联的配置。配置关联时,我们需要考虑两点:第一,程序执行效率,第二,实际业务的需要。比如在前面的例子中,加载街道的同时获得对应区县的信息,这给编码带来了极大的便利,但是我们并不是很需要通过区县对象直接得到下属的所有街道的数据,加载区县数据时就自动加载街道信息也会带来性能上的损失。这时,我们只需要配置单向的多对一关联就好了。通过程序维护关系

修改关联关系现在我们要实现的功能是将原属于“山南区”的“和平路”划归“海淀区”,即修改实体对象间的关联关系。在前面我们在区县到街道的一对多关系的配置节点<set>上增加了inverse属性!并设置为true,由多的一方负责关联关系的管理。也就是说,我们通过更新街道对象,就能更新对应的关联关系。试一下,看看是不是可以达到效果。删除数据在set节点中增加cascade属性,值设为“all”。可选的值包括:a11:对所有的操作都进行级联none:对所有的操作都不进行级联save-update:执行更新操作时级联delete:执行删除操作时级联现在我们只要删除区县记录就可以自动删除关联的街道记录了。如图5-17所示,自动执行了从tbl_jd表删除记录的delete语句。多对多关联配置多对多关联通过程序维护多对多关联使用Hibernate,我们采用面向对零的方式操作数据,管理对象间的关联关系时也是采用这样的思路。首先要做的是做好关联的配置,通过配置关联,Hibernate就会自动帮我们加载关联的数据,以及进行其他持久化操作。在编写代码的时候,我们心里只有对象,再也不用去管数据库、表和SQL语句了。总结本章提供了几个例子,展示了应用Ajax技术改善用户体验的方法。相信这些例子可以帮助你在短时间内体验AJAX的方便、灵活、人性化的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论