首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

继承HibernateDaoSupport类怎么处理懒加载

发布网友 发布时间:2022-04-21 19:10

我来回答

1个回答

热心网友 时间:2024-02-23 22:07

当一个请求来了之后,先执行Action,在执行结果。在action里面有Service业务层,调用Service,Service做业务处理。

开始执行Service方法的时候,开始开启事务和Session,Service方法结束或回滚提交事务,会自动关闭Session。

在Service里面查询列表加载对象的时候,但是其相关连的对象并没有加载,但是Session关闭了,关联对象最终没有加载,在页面中用到了懒加载属性,但是是在之前加载的,且Session已经关闭了,所以有了懒加载异常,说没有Session。

从上面的异常说明中可以得知,主要原因是在页面中没有Session,那么我们可以使Session不关闭,不关闭Session又会出现问题,那么我们就在整个请求的过程中添加一个过滤器或者*,过滤器或*是先进后出。我们在过滤器或*中关闭Session,也就是在当页面显示一些数据后,再在过滤器或*里面关闭Session就可以了。但是需要设置当事务提交之后,不需要关闭Session。在spring中已经有一个过滤器可以帮助我们在过滤器中关闭Session了。OpenSessionInViewFilter

注意:拦截的是所有的action,而且在Action里面调用的是Service,与struts的配置Action的扩展名一样

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com