SSH框架---你不得不关注的“懒加载”--lazy

本文探讨了Hibernate框架中lazy属性的作用及影响。详细解释了当lazy设为true时,如何触发couldnotinitializeproxy-noSession错误,并提供了设置lazy=false的场景说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SSH框架---你不得不关注的“懒加载”--lazy




lazy这个属性,对于hibernate框架中配置关联至关重要!

它出现在<one-to-one>,<many-to-many>这样的标签里面,那我们就来从调用数据库Session的层面来讨论,有何区别。

当  lazy=“true”也就是默认情况(你没有配置)时,
调用get,update,insert等等这样的方法,就会出现非常经典的--------------

could not initialize proxy - no Session

--------------------------------------------------------------------------------
       对的没有会话,这是为什么呢。很简单,懒加载的时候,执行完session.get(class,id);之后,session就关闭了。而这时,service程序继续执行,getBean(这里的Bean名字不是固定的),想获取相关联对象,执行这一句代码的时候,才会声称Hql语句。但是这时,session关闭,于是就报错了。
     也就是说,懒加载,JAVA获取代码时,我才去查询,但是一次只查一个对象,查多个对象就不行。除非有某种手段,取消session,或者让session对象游离。

这就是懒!!!


于是,当你需要连续执行关联操作,或者连续HQL操作的时候


lazy一定要设置成        lazy="false";!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值