`
sichen84
  • 浏览: 55971 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

shh整合出现no session or session was closed

阅读更多
项目使用hibernate3.1 + spring2.0 + struts1.3
set集合延迟加载出现的问题如下
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.jessie.common.model.JyAttribute.codes, no session or session was closed
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)
at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343)
at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:163)

解决:
1.getHibernateTemplate().initialize 准备set集合
return getHibernateTemplate().executeFind(new HibernateCallback(){   
            public Object doInHibernate(Session session)   throws HibernateException, SQLException {   
              Query q = session.createQuery(hql.toString());   
                      List<JyAttribute> attrs = q.list();   
                      for(JyAttribute a : attrs){   
                              getHibernateTemplate().initialize(a.getCodes());   
                      }
                      return attrs;                      
              }});
2.fetch捉取
   //需在映射文件中添加 fetch="join"
return (List)getHibernateTemplate().execute(new HibernateCallback() {
            public Object doInHibernate(Session session) throws HibernateException, SQLException {
                Query q = session.createQuery(
                        "select distinct p from JyAttribute p left join fetch p.codes" + hql.toString()
                );
                return q.list();
            }
        });  
3.使用OpenSessionInViewFilter管理session,在web.xml中添加
  <filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
注:openSessionViewInFilter未配置成功,还不知何缘由
分享到:
评论

相关推荐

    shh整合shh整合例子例子

    一个小例子关于 shh整合事例 自己做的希望对大家有帮助

    shh整合框架实现分页

    ### SHH整合框架实现分页 #### 背景与目的 在开发Web应用程序时,为了提高用户体验并减轻服务器压力,通常需要对查询结果进行分页处理。分页不仅可以有效地展示大量数据,还能够减少每次请求的数据量,提高系统的...

    关于SHH整合简单案例_MyEclipse案例

    这个"关于SHH整合简单案例_MyEclipse案例"应该是为了帮助初学者理解如何在MyEclipse环境下搭建和使用SSH框架进行项目开发。下面我们将深入探讨SSH整合的核心概念、配置步骤以及MyEclipse中的应用。 1. **Spring框架...

    SHH整合+web,struts2,spring配置

    在SHH整合中,Spring通常用来管理Hibernate的SessionFactory和Session,以实现事务管理和数据访问。 3. **Spring框架**:提供了依赖注入(DI)和面向切面编程(AOP)功能,可以管理整个应用的组件,包括Struts2和...

    shh 整合jar包

    标题中提到的"shh 整合jar包"可能包含了这些框架及其依赖的jar文件,确保项目能够正常运行。开发者只需按照上述步骤配置和编写代码,就可以利用SSH框架高效地开发企业级应用。 总结来说,SSH整合是Java Web开发中的...

    SHH整合(mysql,struts2 2.2+spring2.5+hibernate3.0,log,jquery,标签等)DEMO

    1、SHH整合 详细清晰的标准配置,主流的应用配置,struts2.2+spring2.5+hibernate3.0 2、结合MYSQL轻量级数据库,有写好的库表sql 3、整合日志管理配置,及Spring代理日志管理的配置及应用 4、应用WEB前段主流技术,...

    J2EE_SHH框架整合

    "J2EE_SHH框架整合"指的是将三个非常流行的开源框架——Struts2、Spring和Hibernate集成到一个项目中,以实现更高效、更灵活的开发流程。这三个框架分别负责不同的职责:Struts2处理MVC(Model-View-Controller)...

    SHH整合简单的登录注册修改

    开发环境: (1) OS:Windows XP SP3 (2) DB:SQLServer 2005 (3) JDK:1.6.0_18 ...注:个人开发环境不同,对于项目导入后可能出现的问题,请自行百度解决,多为jar包问题,请根据实际情况自行增减

    SHH2架构整合

    SSH2架构整合主要指的是Spring、Hibernate和Struts2这三大框架在Java开发中的集成应用。SSH2是一个流行的企业级Web应用程序开发框架,它允许开发者利用各自的优势,构建出高效、可维护的Java Web项目。 首先,...

    SHH整合源码

    【SSH整合源码详解】 SSH(Struts2、Spring、Hibernate)是Java开发中的经典企业级应用框架组合,常用于构建高效、可扩展的Web应用。这个整合源码旨在为初学者提供一个清晰易懂的学习资源,帮助他们理解这三个框架...

    SHH整合所需特殊jar包.zip

    SSH所需要的特殊jar包,包括commons-dbcp2-2.1.1.jar,commons-pool2-2.4.1.jar, log4j-1.2.15.jar , log4j-api-2.9.1.jar, log4j-core-2.9.1.jar, spring-web.jar , struts2-spring-plugin-2.1.8.1.jar

    SSH实例,练习一下SHH的整合

    本实例将深入探讨SSH的整合应用。 首先,我们需要了解SSH的基本概念。SSH主要包括两部分:客户端和服务端。客户端安装在用户计算机上,用于发起连接请求;服务端则运行在远程服务器上,接收并处理连接请求。当用户...

    shh2+oracle11G整合案例

    【SSH2与Oracle11g整合详解】 在IT行业中,SSH2(Struts2、Spring、Hibernate2)是一个常见的Java企业级应用开发框架组合,它为开发者提供了强大的模型-视图-控制器(MVC)架构支持,使得业务逻辑处理、数据持久化...

    SHH框架集合webservice

    SHH框架集合Webservice是一个专为Java开发人员设计的整合性解决方案,旨在简化Web服务的开发、部署和消费。这个框架结合了Spring、Hibernate和Struts(SHH)这三个流行的开源技术,为构建高效、可扩展的企业级应用...

    java学习shh框架jar包

    这个“java学习shh框架jar包”包含了学习SSH整合所需的所有依赖库,便于开发者快速搭建项目环境。下面我们将深入探讨SSH框架的核心概念、作用以及每个组件的关键知识点。 1. **Spring框架**: - Spring是Java应用...

    junit4与shh2+velocity框架整合

    junit4与shh2+velocity框架整合 培训

    SHH错误总结 SHH错误总结SHH错误总结SHH错误总结

    SSH错误可能出现在各种情况中,例如配置问题、权限问题、密钥对问题或者网络障碍等。以下是对SSH常见错误及其解决方案的详细总结: 1. **错误1:Permission denied (publickey).** 这个错误意味着服务器拒绝了你的...

    shh下载

    shh下载

    SHH学习笔记

    SHH(Secure Shell)是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他安全网络服务。它主要用于在服务器之间传输数据,确保数据在传输过程中不被窃取或篡改。SHH通过加密技术提供了强大的身份验证和...

Global site tag (gtag.js) - Google Analytics