设置了延迟加载的话,只有在页面上调用对象的非主键属性时,hibernate才会真正进行对数据库的查询,但这时候session已经在dao中被关闭了,所以就会报出no session 的错误。
解决办法:
在web.xml中配置OpenSessionInViewFilter。
<!-- Hibernate Open Session In View filter--> <filter> <filter-name>osivFilter</filter-name> <filter-class> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter </filter-class> </filter> <filter-mapping> <filter-name>osivFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
这样的话,session就会延迟关闭,从而满足需要。
posted on 2009-08-13 10:30 台哥编程课堂 阅读(218) 评论(0) 编辑 收藏 举报