Hibernate学习lazy属性学习(true和extra区别)
Posted lonecloud
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate学习lazy属性学习(true和extra区别)相关的知识,希望对你有一定的参考价值。
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区别)的主要内容,如果未能解决你的问题,请参考以下文章