通过asm和cglib二个包实现;Domain是非final的否则不能实现懒加载功能呢个。
1.session.load懒加载。
2.one-to-one(元素)懒加载:
必需同时满足下面三个条件时才能实现懒加载(主表不能有constrained=true,所以主表没有懒加载)
1)lazy!=false (lazy默认值是proxy)
2)constrained=true (是默认值)
3)fetch=select (是默认值)
fetch改为join的时候,即使lazy=proxy,查从对象IdCard的时候也会查找Person信息。所以说fetch和lazy两个属性也是相互牵制的,虽然fetch指的是是访问数据库的方式(表连接方式),lazy是访问数据库的时机。{假设Person(主对象)和IDCard(从对象)是one-to-one关系}
Hibernate在one-to-one中默认主对象不进行懒加载 。
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关闭后,再访问懒加载的对象将出现异常。
分享到:
相关推荐
hibernate懒加载策略.dochibernate懒加载策略.doc
主要介绍了浅谈解决Hibernate懒加载的4种方式,具有一定借鉴价值,需要的朋友可以参考下。
解决org.hibernate.LazyInitializationException: could not initialize proxy - no Session...
深入理解hibernate懒加载技术,正确使用懒加载
去除预加载的Viewpager,加载第一页时不会默认加载第二页,
hibernate抓取策略和懒加载案例,供大家下载查看。大家都知道,hibernate都设计到一个优化问题。
主要介绍了Hibernate懒加载之标签上的lazy,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
Hibernate 简介 Hibernate 开发流程 Hibernate 配置文件 Hibernate 核心接口和类 Hibernate ORM映射 HQL Hibernate 懒加载机制与抓取策略 Hibernate 缓存 Hibernate 锁机制
\contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...
有问题的懒加载,有大神帮忙修改么?
主要介绍了hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法,需要的朋友可以参考下
SSH2 annotation 实现struts2.1.6 spring2.5.6 hibernate3.3 全注解开发 hibernate延迟加载_懒加载 具体应用
hibernate配置连接池大全 hibernate配置连接池大全
本文结合OA项目,介绍ssh框架所遇到的核心问题,包含登录时数据初始化设置,hibernate懒加载处理,structs2对权限的拦截处理,jsp页面传值EL和ONGL表达式的介绍
019 关联映射文件中集合标签中的 lazy(懒加载)属性 020 、单端关联上的 lazy(懒加载)属性 021 继承关联映射 022 component(组件)关联映射 023 复合主键 关联映射 024 其它 关联映射 025 hibernate 悲观锁、乐观锁 ...
NULL 博文链接:https://profound-accumulation.iteye.com/blog/2243103
学习成长路,Hibernate总结: 1.Hibernate入门优缺点、 2.Hibernate的操作CRUD、 3.主键生成机制、 ...7.懒加载、 8.Hibernate检索策略(fetch抓取策略)、 9.二级缓存、 10.Hbernate的检索方式(HQL语句)
hibernate实体有三个状态 1、瞬时状态 对象由new操作符创建,尚未与Session关联的对象被认为处于瞬态.瞬态对象不会持久化到数据库中,也不会被赋予持久化标识.而这个时候只在内存中存在,与数据库无关 2、持久状态 ...
基于 hibernate3.3+spring3.0+struts2 搭建好的框架,数据库 事物 已经配好,懒加载 也配好了
Hibernate作为最流行的ORM工具也同样使用CGLIB库来代理单端关联(集合懒加载除外,它使用另外一种机制)。EasyMock和jMock作为流行的Java测试库,它们提供Mock对象的方式来支持测试,都使用了CGLIB来对没有接口的类...