日期:2014-05-20  浏览次数:20661 次

hibernate中的lazy与fetch有什么区别
不知道该是什么时候用 到底有什么区别啊

------解决方案--------------------
http://dhaigang.iteye.com/blog/183791
------解决方案--------------------
lazy 懒加载,fetch没怎么注意过。。。
------解决方案--------------------
lazy就是懒得不想去Google
------解决方案--------------------
lazy是懒加载,什么时候用到就什么时候触发。fetch没太了解
------解决方案--------------------
lazy:懒加载(延迟加载),一般返回的是代理对象,当真正去使用此对象时,开始真正的去数据库查询此对象(session未关闭),如果没有此ID的对象会抛出一个异常
fetch:抓取策略,指有关系的对象间,关联对象的查询方式.
举个例子:Employee和Department,Employee中有个Department属性,当查询Employee时,Department默认的fetch="select",其实算也是懒加载,当真正的用的时候去发出一跳查询Department的语句(注意:一共发了两条),如果fetch="join",查询Employee时就会把Department同时查出来(外连接查询)