博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSH整合之could not initialize proxy异常解决方案
阅读量:4971 次
发布时间:2019-06-12

本文共 1480 字,大约阅读时间需要 4 分钟。

org.apache.jasper.JasperException: could not initialize proxy - no Session - Class: org.hibernate.proxy.AbstractLazyInitializer
File: AbstractLazyInitializer.java
Method: initialize
错误原因:
由于在Hibernate初始化DAO和BIZ层得时候,事务由的结束是在BIZ里,此时Session已经关闭,如果我们通过jsp页面调用Session加载的某个类时,往往会引起上述错误,那么有没有解决方案
呢,答案肯定是有。
2种解决方案:
1、    通过调用Hibernate的事务的get方法获取对象,这时候就不会引起延迟加载的错误,但是还有一个问题,假如通过get得到的这个对象还关联着其他对象,那么get一定会加载关联对象
,如果关联对象的fetchType是Lazy,这时候在jsp页面访问关联对象时,同样会引起延迟加载的错误,所以我们必须添加一个方法,用于获取关联对象用。
2、org.springframework.orm.hibernate3.support.OpenSessionInViewFilter 是Spring提供的一个针对Hibernate的一个支持类,其主要意思是在发起一个页面请求时打开Hibernate的
Session,一直保持这个 Session,直到这个请求结束,具体是通过一个Filter来实现的。由于Hibernate引入了Lazy Load特性,使得脱离Hibernate的Session周期的对象如果再想通过getter
方法取到其关联对象的值,Hibernate会抛出一个 LazyLoad的Exception。所以为了解决这个问题,Spring引入了这个Filter,使得Hibernate的Session的生命周期变长。
 
web配置文件:
 
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
转载请标明出处:www.cnblogs.com/taoxiaooji 淘小鸡技术博客

转载于:https://www.cnblogs.com/taoxiaoji/archive/2011/03/12/1982143.html

你可能感兴趣的文章
xaml控件
查看>>
SQL SERVER启动步骤
查看>>
spring学习笔记一 入门及配置
查看>>
PHP安装问题
查看>>
三十而立,从零开始学ios开发(一):准备起航
查看>>
2019.04.09 电商21 修改购物车商品数量
查看>>
232. Implement Queue using Stacks,225. Implement Stack using Queues
查看>>
Android实战——第三方服务之Bmob后端云的答题系统小项目(四)
查看>>
读书有感----做一个踏实的程序员
查看>>
模块和包
查看>>
Spring+SpringMvc+Mybatis 框架的搭建(二)
查看>>
Pre-defined Keyboard Shortcuts (zz.IS2120@BG57IV3.T717662197)
查看>>
路由器与交换机的区别与联系
查看>>
hdu 1787 GCD Again
查看>>
Linux内核升级
查看>>
西交利物浦大学Java PAPER CODE: CSE105/12-13/S1/Resit Coursework
查看>>
简单的排序算法入门学习
查看>>
linux curl命令
查看>>
每日scrum(五)
查看>>
数据库——MySQL——存储引擎
查看>>