Hibernate入门到精通-懒加载
2017-10-22 18:38
399 查看
3.懒加载(延迟加载) lazy
它是Hibernate为提高程序执行效率而提供的一种机制,即只有真正使用该对象的数据时才会创建。Hibernate中主要是通过代理(proxy)机制来实现延迟加载。Address adr = session.load(Address.class,2L);//直接返回的是代理对象 System.out.println(adr.getId());//没有发送sql到数据库中 System.out.println("---------"); System.out.println(adr.getName());//创建真正的对象实例,发送sql语句到数据库 System.out.println("---------"); System.out.println(adr.getUser());//创建真正的对象实例,发送sql语句到数据库
如何关闭懒加载:
加载单个实体,如果不需要延迟加载,就可以使用session的get()方法。
Address adr = session.get(Address.class,2L);//直接创建真正的对象实例
当session加载某个实体时,不需要对这个实体中的集合属性值延迟加载,而是要立即加载。这是可以在映射文件中这个集合的配置元素(set bag list)添加属性lazy=false;
当session加载某个实体时,不需要对这个实体所单端关联的另一个实体对象延迟加载,就可以在影射文件中针对这个单端关联的配置元素(<one-to-one><many-to-one>)添加lazy=false;
<many-to-one lazy="false" name="user" class="com.qfedu.entity.User" column="user_id"></many-to-one>
相关文章推荐
- Hibernate 3.2 从入门到精通学习推荐
- Hibernate从入门到精通(六)一对一双向关联映射
- 伟景行 citymaker 从入门到精通(2)——工程图层树加载
- Glide 入门到精通之十八——Module 实例:用自定义尺寸优化加载的图片
- Hibernate入门到精通
- Android Volley入门到精通:使用Volley加载网络图片
- Android Volley入门到精通:使用Volley加载网络图片
- Hibernate从入门到精通(八)一对多单向关联映射
- Android Volley入门到精通:使用Volley加载网络图片(示例,出错代码)
- 【Hibernate】从入门到精通(二)环境搭建实例
- Android Volley入门到精通:使用Volley加载网络图片
- Android Volley入门到精通:使用Volley加载网络图片(示例,出错代码)
- FEA从入门到精通系列 | 文本数据源加载与存储
- Android Volley入门到精通:使用Volley加载网络图片
- Hibernate从入门到精通(三)Hibernate配置文件 .
- Hibernate从入门到精通(八)一对多单向关联映射
- Hibernate入门到精通-关系映射一对多
- Hibernate入门BLOG[十四、Hibernate的懒加载和缓存机制]
- Hibernate从入门到精通(八)一对多单向关联映射
- Android Volley入门到精通:使用Volley加载网络图片