问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

hibernate中lazy什么时候不用?

发布网友 发布时间:2024-10-13 12:28

我来回答

2个回答

热心网友 时间:2024-11-23 18:52

这个面试官问的还蛮深的,一般人确实只知道lazy是用来控制延迟加载和立即加载的,而没有去考虑为什么要这么用。
hibernate3.0中lazy有三个值,true,false,proxy,默认的是lazy="proxy".
具体设置成什么要看你的需求,并不是说哪个设置就是最好的。
假如在student对象中包含一个head对象
如果你确定在用student对象的时候就要用到head对象里的属性,那你就设置立即加载,因为设置立即加载那么在查询student的同时就会查询student的head,hibernate就会在查询的时候关联两张表从而生成的sql就可能只有一条。而如果你设置的是延迟加载,那么肯定会要生成1+N条sql语句:其中“1”是查询student的语句,“N”是根据N个student的id去查询head的N条语句。而且,延迟加载是要用到的时候才去执行查询,这样系统判断那里需要加载,那里不需要加载也需要时间,性能上肯定就不如立即加载了!
如果,你是有的地方需要用到student的时候才用到head属性,那么你就设置成延迟加载,因为查询2张表的数据肯定要比查询1张表的数据消耗大。
到低要怎样设置就要看你的实际需求了

热心网友 时间:2024-11-23 18:52

LZ说的对,lazy=true,就是用到才会去数据库加载,但如果要用到1000个lazy属性,就产生多1000个SQL语句,引起1000次的查询,对DB和网络都是非常恐怖的性能问题。典型的N+1次查询的问题。

减少SQL语句,能够大幅的提高性能;但读取不需要的属性,又会浪费内存、数据库和网络资源。

所以合适的属性颗度划分非常重要。一次加载全部需要的属性,把不需要的属性延时加载。按照业务需求,把属性按需求进行切分,确保一次访问能够得到全部需要的数据,这是最好的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 hibernate lazy属性对各个方法的影响 什么是延迟加载?hibernate的延辞加载 美好的时光,写下美妙的句子 中国的银行哪些银行卡不收年费? 吃了饭血压会上升还是下降 刚吃完饭量血压应该是高还是低 吃完饭后血压会升高吗 早上量血压是吃饭好还是空腹好 饭后血压会升高吗? 如何拆除卫生间瓷砖 求好看的耽美文,最好有详细的介绍~不需要太多,两三本书就行,谢谢... 英雄联盟定级赛最多能升到什么段位 英雄联盟怎么快速生段位 求玲珑三国志 终极三国——芷懿 终极三国——无悔 终极三国之魅惑天下... 卫生间墙面瓷砖怎么拆 标发是什么意思? 煤矿安全生产大提升宣传标语 92油没用完加了95对车有影响吗? qq未成年改成年? brc20代币有哪些 Hibernate延迟加载的原理? 律师函有法律效力么 养颜美容最好的水果 喝茶叶有什么好处 养颜美容预防疾病 你吃过最奇葩的菜是啥? 忘却的近义词是什么?清晰的反义词是什么?忧雅的反义词又是什么? 湖南省考成绩排名公布在哪里查询呢? 人们透过阴惨惨的薄雾,凝视着这尊黑色的雕像徐徐沉进大海。这句话说... 作者写透过阴惨惨的薄雾凝视着这尊黑色的雕像徐徐沉入大海为什么说是... 人们透过阴惨惨的雾气凝视着这尊黑色的雕像徐徐沉进大海是什么修_百度... 卧室床上出现的黑硬壳虫是什么? 床上有硬壳黑色的虫子是什么啊?? 床上有黑虫是怎么回事? 属鸡人1932的寿命多长 电瓶车嗽叭不响怎么办 小学生好句摘抄精选59句 ...好句、好段、书名、主要内容、感想,好的加分 维生素e和c能长期服用吗 维生素c和维生素e能长期服用吗? 可以长期吃维生素E和C吗? mhtml的格式改成什么字母才能直接观看不用打开器