hibernate-2 关系映射和懒加载.ppt

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
hibernate-2 关系映射和懒加载

hibernate 关系映射 多对一(Employee-Department) 一对多(Department-Employee) 一对一(room-door) 多对多(teacher-student) 组件映射(User-Name) 集合映射(set,list,map,bag) Inverse和cascade(Employee-Department) 级联和关系维护 Casade用来说明当对主对象进行某舟操作时是否对其关联的从对象也做类似的操作,常用的cascade: none,all,save-update,delete,lock,refresh ,evict,replicate,persist,merge,delete-orphan(one-to-many).一般对many-to-one,many-to-many 不设置级联,在one-to-one和one-to-many中设计级联 Inverse表示“是否放弃维护关联关系”(在java里两个对象产生关联时,对数据的影响),在one-to-many和many-to-many的集合定义中使用,inverser=“ture”表示该对象不维护关联关系:该属性的值一般在使用有序列集合时设置成false(注意:hibernate的缺省值是false). one-to-many维护关系就是更新外键,many-to-many维护关系就是在中间表增减记录. 注:one-to-one的对象不维护关系 懒加载 通过asm和cglib二个包实现:domain是final的 1.session.load懒加载. 2.one-to-one(元素)懒加载 : 必须同事满足下面三个条件时才能实现懒加载 (主表不能有constrained=ture,所以主表没有懒加载) 1) lazy!=false .2) consetrained=ture.3)fetch=select 3.one-to-many(元素)懒加载:1)lazy!=false 2)fetch=select 4.many-to-one(元素) :1)lazy!=false 2)fetch=select 5.many-to-many(元素) :1)lazy!=false 2)fetch=select 6.能够懒加载的对象都是被改写过的代理对象.当相关联的session没有关闭时.访问这些懒加载对象(代理对象)的属性(getId和getClass除外);hibernate会初始化这些代理.或用Hibernate.initialize(proxy)来初始化代理对象;当相关联的session关闭后,在访问懒加载的对象将出现异常 * * *

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档