映射一对多关联关系.ppt

映射一对多关联关系.ppt

ID:51973991

大小:1.94 MB

页数:18页

时间:2020-03-26

映射一对多关联关系.ppt_第1页
映射一对多关联关系.ppt_第2页
映射一对多关联关系.ppt_第3页
映射一对多关联关系.ppt_第4页
映射一对多关联关系.ppt_第5页
资源描述:

《映射一对多关联关系.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、映射一对多关联关系回顾回顾*.hbm.xml各个元素的作用和常用属性hibernate的常用内置主键生成器数据库提供的主键生成机制:identity、sequence外部程序提供的主键生成机制:increment,hilo其它:native,assignedhibernate的映射类型本章目标理解什么是对象之间的关联关系掌握一对多关联关系的映射多对一单向关联一对多(或多对一)双向关联一对多(或多对一)双向自身关联inverse和cascade属性设置本章目标什么是关联什么是关联关联(association)关联指的是类

2、之间的引用关系。如果类A与类B关联,那么被引用的类B将被定义为类A的属性。publicclassA{privateBb=newB;publicA(){}}关联的分类:关联可以分为一对一、一对多、和多对多关联关联是有方向的持久化对象和临时对象概念持久化对象和临时对象概念临时对象是指刚通过new关键字创建的对象,在数据库中没有与此对象对应的记录持久化对象是指数据库中有与此对象对应的记录的多对一单向关联多对一单向关联我们以客户(Customer)和订单(Order)的关系为例,分析一下多(订单)对一(客户)单向关联一个客户能

3、发出多个订单,而一个订单只能属于一个客户注意:我们仅仅在Order类中定义了Customer类型的属性customer,因此这是一个Order类到Customer类的多对一单向关联如何映射多对一关联关系如何映射多对一关联关系many-to-one元素:name属性:用来保存关联的持久对象的属性的名称class属性:关联的持久化类的类名cascade属性:当值为save-update表示保存或更新当前对象时(即执行insert或update语句时),会级联保存或更新与它关联的对象元素用来指定查询关联的持久

4、化类的外键(对于关联的持久化类而言,这个外键的值就是它的主键也就是OID)多对一单向关联映射多对一单向关联映射演示示例:Order到Customer的多对一单向关联映射一对多(或多对一)双向关联一对多(或多对一)双向关联我们以客户(Customer)和订单(Order)的关系

5、为例,分析一下多(订单)对一(客户)单向关联一个客户能发出多个订单,而一个订单只能属于一个客户注意:我们不仅在在Order类中定义了Customer类型的属性customer;还在Customer类中定义了一个Set集合(用来包含关联的Order对象),,因此这是一个Order类到Customer类(或者是Customer类到Order类)的一对多(或多对一)双向关联如何映射一对多关系如何映射一对多关系set、key和many-to-one元素:元素表明Customer类的orders属性为java.util

6、.Set集合,用来包含被关联的Order对象name属性:用来保存关联的持久化对象属性的名称(此属性的类型必须是接口,本例中必须是Set,而不能是HashSet)cascade属性:当值为save-update表示保存或更新当前对象时(即执行insert或update语句时),会级联保存或更新与它关联的对象元素:表明Order表通过外键customerId引用Customers表元素的class属性指定了一对多关系中多方的类名,也就是orders集合中存放的是一组什么类型的对象

7、tname="orders"cascade="save-update">一对多双向关联映射一对多双向关联映射演示示例:Customer和Order的一对多双向关联映射inverse属性inverse属性通过将Set元素的inverse属性设置为true,来提高应用的性别,减少不必须的JDBC操作:这表明只有many方修改了关联关系,才会生效(也就是执行JDBC操

8、作修改数据库内容,one方修改关联关系,不会修改数据库的内容)演示示例:Customer和Order

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。