Java论坛网»Java技术»JSF+Spring+Hibernate运行时出现no session or session was closed错误:

JSF+Spring+Hibernate运行时出现no session or session was closed错误:

问?:
本人用JSF+Spring+Hibernate做综合应用时,频繁出现如下错误:

ERROR[http-8082-Processor24](LazyInitializationException.java:19)_failed to lazily initialize

a collection of role: com.web.bo.Product.categoryIds - no session or session was closed
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role:

com.web.bo.Product.categoryIds - no session or session was closed
at

org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException

(AbstractPersistentCollection.java:191)
at org.hibernate.collection.AbstractPersistentCollection.initialize

(AbstractPersistentCollection.java:183)
at org.hibernate.collection.AbstractPersistentCollection.read

(AbstractPersistentCollection.java:48)
at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:134)
at com.web.view.ViewUtils.convertToList(ViewUtils.java:19)
at com.web.vo.ProductBean.setCategoryIds(ProductBean.java:240)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke

(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)

Web.xml文件部分代码如下:
<filter>
<filter-name>SecurityFilter</filter-name>
<filter-class>com.web.view.SecurityFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>*.jsf</url-pattern>
</filter-mapping>

<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>

注:在影射文件中 <class >标签里的属性 lazy="false"或者"true" 都试过了,还是出现同样的错误

不知道是什么原因造成的,请高手指教:
答!: 1:
顶上...
答!: 2:
是不是把session关了,却又做了相关数据库操作?
答!: 3:
在实现数据持久层的时候,DAO类文件继承了HibernateDaoSupport类,应该就是把Session都交给了Spring来管理,这时候怎么知道Session什么时候关闭???
答!: 4:
是不是在View页面用了session?
答!: 5:
加个OPEN SESSION IN VIEW FILTER

web.xml中写

<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>*.jsf</url-pattern>
</filter-mapping>
答!: 6:
加上了,还是不行.

相关JAVA教程:
如何在Servlet里获取客户端证书的相关信息
spring和Hibernate集成时,Session一般是怎样管理的?
有关于HibernateSessionFactory问题
大家帮忙看看这个JSTL的问题,从ArrayList中取得map对象,并迭代出map
读取图片问题
JBOSS打出的错误报告帮忙分析原因,多谢
如何配置LOG4J
struts:No getter method for property Teacher.user of...html.BEAN
有没有人做过协同开发的项目-----关于共享屏幕的问题!小女子在线等待!!
Axis1.5 with wss4j问题
java内存泄露
GUI中实现图片上传到服务器