- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目标 Hibernate关联关系 关联关系可分为下面几种: 一对一关联(1-1) 一对多关联(1-N) 多对多关联(N-N) 按照访问关联关系的方向性,又可以分为 : 单向关联:只需要单向访问关联端 双向关联:关联的两端可以互相访问 综上所述: 单向1-1 单向1-N 单向N-1 单向N-N 双向1-1 双向1-N 双向N-N 单向N对1关系 单向N-1关联和关系数据库中的外键参照关系最为相似 hibernate-mapping package=com.haiersoft.ch05.pojos class name=Order table=ORDER id name=id column=ID generator class=native / /id !-- 订单编号 -- property name=orderNo column=ORDERNO type=string/ !-- 下单日期:yyyy-MM-dd HH:MM:SS-- property name=date column=ORDERDATE type=timestamp / !-- 总金额-- property name=total column=TOTAL type=double / !-- 单向N-1 -- many-to-one name=customer column=CUSTOMER_ID class=Customer / /class /hibernate-mapping 单向1对N关系 双向1对N关系 双向1-N关联就是1-N与N-1单向关联的整合 双向1-N建立了1端和N端的双向关联关系,既可以从1端导航到N端,也可以从N端导航到1端 可以从通过客户直接访问其所拥有的所有订单,也可以通过某个订单访问该订单所属的客户对象 级联关系 持久对象进行保存、更新和删除等操作时,有时需要被关联的对象也要执行相应的操作,这可以通过使用Hibernate的级联(cascade)功能完成 基于外键的单向1对1关系 基于主键的双向1对1关系 单向N对N关系 hibernate-mapping package=com.haiersoft.ch05.pojos class name=Order table=ORDERS ......省略 set name=products table=ORDERITEM key column=ORDER_ID / many-to-many class=Product column=PRODUCT__ID / /set /class /hibernate-mapping 双向N对N关系 拆分N对N为两个1对N hibernate-mapping package=com.haiersoft.ch05.pojos class name=Order table=ORDERS......省略 set name=orderitems cascade=save-update inverse=true“ table=ORDERITEM key column=ORDER_ID / one-to-many class=OrderItem / /set /class/hibernate-mapping class name=OrderItem table=ORDERITEM id name=id column=ID generator class=native / /id !--OrderItem与Order是1-N关系 -- many-to-one name=order class=Order column=ORDER_ID / !--OrderItem与Product是1-N关系 -- many-to-one name=product class=Product“ column=PRODUCT_ID / property name=quantity column=QUANTITY type=integer / property name=purchasePrice column=PURCHASEPRICE type=double / /class 小结 * 第6章(一) Hibernate核心技能 掌握Hibernate中持久化类的各种关联关系 public class Order implements Serializable { /* 主键Id */ private Integer id; /*订单编号*/ private String orderNo;
文档评论(0)