您当前的位置:首页 > 计算机 > 编程开发 > Other

6.7. 延迟加载与 Session 关闭的矛盾是如何处理的

时间:12-14来源:作者:点击数:

延迟加载就是并不是在访问对象的时候就把数据加载进来,而是等到真正使用时再加载。Hibernate 使用了动态代理机制实现延迟加载,我们使用 Session 的 load()方法加载数据或者从对象关系中获取关联的对象或者对象集合的时候得到的都是代理对象(one2one 除外)。

但是就算是延迟加载数据,在真正加载数据的时候,需要使用创建延迟加载对象的那个 session 去数据库中获取数据,所以,延迟加载有一个要求,就是在延迟加载对象实例化之前,延迟加载对象绑定的 session 是不能关闭的。所以这造成了我们在 javaweb 开发中非常经典的一个模式,就是 opensessioninview 模式,我们会延迟 session 的关闭时间。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
    无相关信息
栏目更新
栏目热门
本栏推荐