hibernate关联映射关系带来的弊病---> 无意义的查询

本文讨论了一个基于SSH架构的租房网站项目,在实现过程中遇到的延迟加载问题及解决方案。通过调整*.hbm.xml配置文件中的lazy属性,有效减少了不必要的SQL查询,提高了登录操作的效率。

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

     自己做的那个租房网站的demo ,由于是应用了ssh 的 , 前面做的时候遇到了延迟加载的异常. 不得全部原因的情况下, 都

 

所有的*.hbm.xml 文件的<many-to-one> 和 <set>中都 加上了 lazy="flase",  延迟加载的问题是再没有出过了.

 

        但是近来观察,因为这种 <maon-to-one > 和 <on-to-many> 的关系, 一个登陆操作,其实只需要一条sql 语句去查

 

询User 表的 , 他可能会去查2条或者更多条.这就降低了效率啊.

 

      我观察我的一个登陆操作就执行了2条sql语句, 有一条是不必要的.  怎么解决呢? 关键应该是在*.hbm.xml 上, 打开*.hbm.xml 文件 : 关键代码如下:

 

 

试着把lazy="false" 去掉了 , 再执行,发现这次执行了一条sql,而且登陆也成功了!

 

       总结下, 下次,会根据需要 ,对*.hbm.xml 进行必要的优化.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值