Hibernate中延迟加载介绍
1、Hibernate中使用延迟加载的有三个方法:session.load(),query.iterate()以及关联映射,以下以session.load()方法来简单说明延迟加载。
2、首先,以IDEA开发工具自动生成的main方法进行改造。添加session.load()方法运行,此时控制台没有sql输出,证明并没有去查询数据库。

4、延迟加载的原理:在使用load方法时,Hibernate返回对象是CGLIB动态生成的类型,代理对象会重写get方法,其中加入判断是否加载。其大致结构如下

6、由于在项目中dao只负责查询数据,使用数据是在JSP中解析出来,如果在dao中就把session关闭,那么jsp就无法解析数据,因此在项目中为了解决这一问题,可以在视图层保持session的开启状态,又叫open session in view,在不同的运用场景,有不同的方法。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:63
阅读量:47
阅读量:27
阅读量:76
阅读量:37