码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate学习(五)lazy属性学习(true和extra区别)

时间:2016-10-16 23:54:05      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:

Lazy(懒加载)在hibernate何处使用:
1.<class>标签上,可以取值:true/false,(默认值是:true)
2.<property>标签上,可以取值:true/false,需要类增强工具
3.<set>,<list>集合上,可以取值:true/false/extra,(默认值为:true)
4.<one-to-one>,<many-to-one>单端关联上,可以取值:false/proxy/noproxy

在在set集合中的三个属性的区别

总的一句话为true的时候只有当用到的时候(id不算)才会被hibernate进行sql查询语句的发出

1.true为默认属性开启懒加载

如果类加载懒加载属性设置为false但是set集合中设置为true;

则默认为在使用到这个set集合的时候才会去发sql语句

2.false为不开启懒加载

如果类加载懒加载属性设置为false但是set集合中设置为false则类发了sql语句则set集合也会同时发出sql语句

3.extra极其懒惰的加载

技术分享

技术分享

true和extra区别

相对比true则是使用到的时候对这个整个数据进行加载

extra 则是对比如说size进行统计的时候回出现sql的进一步优化

Hibernate学习(五)lazy属性学习(true和extra区别)

标签:

原文地址:http://www.cnblogs.com/lonecloud/p/5968112.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!