`
ps329795485
  • 浏览: 50695 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Hibernate之lazy懒加载

 
阅读更多

Hibernate Lazy采用CGLIB,可以对类进行代理,用在:

one-to-one,many-to-one: 取false,proxy/noproxy

Hibernate lazy概念:只有真正使用对象时,才会创建,对于Hibernate来说,只有真正使用时才会发出sql.

测试:one-to-one

Card.java


Person.java


Card.hbm.xml


Person.hbm.xml


先导出对应生成的数据表


保存测试数据


当Person.hbm.xml配置为



此时发出的sql语句为


可见只发出了一条sql语句,查询Person的SQL

而如果配置文件加上lazy="false"


发出的sql语句为:


两条sql语句,而我们没有进行查询Card啊,为什么会查询呢,因为我们设置了lazy懒加载为false,会把相关的都查询出来。

通过设置fetch="join"可避免延迟加载



此时发出一条sql 利用inner join进行查询

fetch 取值 join;select 默认为select

分享到:
评论

相关推荐

    懒加载 LazyViewPager.java

    去除预加载的Viewpager,加载第一页时不会默认加载第二页,

    hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法

    主要介绍了hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法,需要的朋友可以参考下

    Dwr+Hibernate的Lazy问题

    Dwr+Hibernate的Lazy问题 解决了Hibernate延迟加载失效问题

    Hibernate lazy延迟加载

    NULL 博文链接:https://xuwoool.iteye.com/blog/1306207

    Hibernate延时加载与lazy机制.doc

    Hibernate延时加载与lazy机制.docHibernate延时加载与lazy机制.doc

    hibernate 延迟加载深入剖析

    深入理解hibernate懒加载技术,正确使用懒加载

    Hibernate lazy加载FOR Connection

    NULL 博文链接:https://quicker.iteye.com/blog/662613

    集成spring的hibernate懒加载

    解决org.hibernate.LazyInitializationException: could not initialize proxy - no Session...

    Hibernate 延迟加载剖析与代理模式应用

    Hibernate 的延迟加载(lazy load)是一个被广泛使用的技术。这种延迟加载保证了应用只有在需要时才去数据库中抓取相应的记录。通过延迟加载技术可以避免过多、过早地加载数据表里的数据,从而降低应用的内存开销。...

    Hibernate学习笔记

    019 关联映射文件中集合标签中的 lazy(懒加载)属性 020 、单端关联上的 lazy(懒加载)属性 021 继承关联映射 022 component(组件)关联映射 023 复合主键 关联映射 024 其它 关联映射 025 hibernate 悲观锁、乐观锁 ...

    Hibernate懒加载之<class>标签上的lazy

    主要介绍了Hibernate懒加载之标签上的lazy,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下

    属性延迟加载

    Hibernate3开始增加了通过property节点的lazy属性,为特定的属性指定延迟加载策略,以避免实体整体加载可能带来的性能浪费,尤其是像长文本之类的大字段。那么实现属性延迟加载需要做两件事: 1.修改映射配置...

    Hibernate中文API大全

    每当Hibernate重新加载一个包含组件的对象,如果该组件的所有字段为空,Hibernate将假定整个组件为空。 在大多数情况下,这样假定应该是没有问题的。 组件的属性可以是任意一种Hibernate类型(包括集合, 多对多关联...

    Hibernate+中文文档

    19.1.7. 使用延迟属性抓取(Using lazy property fetching) 19.2. 二级缓存(The Second Level Cache) 19.2.1. 缓存映射(Cache mappings) 19.2.2. 策略:只读缓存(Strategy: read only) 19.2.3. 策略:读/...

    hibernate3.2中文文档(chm格式)

    19.1.7. 使用延迟属性抓取(Using lazy property fetching) 19.2. 二级缓存(The Second Level Cache) 19.2.1. 缓存映射(Cache mappings) 19.2.2. 策略:只读缓存(Strategy: read only) 19.2.3. 策略:读/...

    HibernateAPI中文版.chm

    19.1.7. 使用延迟属性抓取(Using lazy property fetching) 19.2. 二级缓存(The Second Level Cache) 19.2.1. 缓存映射(Cache mappings) 19.2.2. 策略:只读缓存(Strategy: read only) 19.2.3. 策略:读/...

    jtechlog-lazy:JPA延迟加载

    提供了EclipseLink和Hibernate持久性提供程序的JPA延迟加载。 具有JPA持久层和Spring MVC Web层的双层应用程序。 可以用Maven构建,下载后mvn jetty:run命令mvn jetty:run 。 它默认设置为 EclipseLink,您需要...

    hibernate 教程

    延迟初始化(延迟加载)(Lazy Initialization) 6.6. 集合排序(Sorted Collections) 6.7. 使用<idbag><br>6.8. 双向关联(Bidirectional Associations) 6.9. 三重关联(Ternary Associations) 6.10....

    Hibernate注解

    fetch指定是否延迟加载,值为FetchType.LAZY表示延迟,为FetchType.EAGER表示立即加载 * 方法一 使用这种配置,在为“一端”添加“多端”时,不会修改“多端”的外键。在“一端”加载时,不会得到“多端”。如果使用...

    Hibernate中文详细学习文档

    19.1.7. 使用延迟属性抓取(Using lazy property fetching) 19.2. 二级缓存(The Second Level Cache) 19.2.1. 缓存映射(Cache mappings) 19.2.2. 策略:只读缓存(Strategy: read only) 19.2.3. 策略:读/...

Global site tag (gtag.js) - Google Analytics