项目使用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整合框架实现分页 #### 背景与目的 在开发Web应用程序时,为了提高用户体验并减轻服务器压力,通常需要对查询结果进行分页处理。分页不仅可以有效地展示大量数据,还能够减少每次请求的数据量,提高系统的...
这个"关于SHH整合简单案例_MyEclipse案例"应该是为了帮助初学者理解如何在MyEclipse环境下搭建和使用SSH框架进行项目开发。下面我们将深入探讨SSH整合的核心概念、配置步骤以及MyEclipse中的应用。 1. **Spring框架...
在SHH整合中,Spring通常用来管理Hibernate的SessionFactory和Session,以实现事务管理和数据访问。 3. **Spring框架**:提供了依赖注入(DI)和面向切面编程(AOP)功能,可以管理整个应用的组件,包括Struts2和...
标题中提到的"shh 整合jar包"可能包含了这些框架及其依赖的jar文件,确保项目能够正常运行。开发者只需按照上述步骤配置和编写代码,就可以利用SSH框架高效地开发企业级应用。 总结来说,SSH整合是Java Web开发中的...
1、SHH整合 详细清晰的标准配置,主流的应用配置,struts2.2+spring2.5+hibernate3.0 2、结合MYSQL轻量级数据库,有写好的库表sql 3、整合日志管理配置,及Spring代理日志管理的配置及应用 4、应用WEB前段主流技术,...
"J2EE_SHH框架整合"指的是将三个非常流行的开源框架——Struts2、Spring和Hibernate集成到一个项目中,以实现更高效、更灵活的开发流程。这三个框架分别负责不同的职责:Struts2处理MVC(Model-View-Controller)...
开发环境: (1) OS:Windows XP SP3 (2) DB:SQLServer 2005 (3) JDK:1.6.0_18 ...注:个人开发环境不同,对于项目导入后可能出现的问题,请自行百度解决,多为jar包问题,请根据实际情况自行增减
SSH2架构整合主要指的是Spring、Hibernate和Struts2这三大框架在Java开发中的集成应用。SSH2是一个流行的企业级Web应用程序开发框架,它允许开发者利用各自的优势,构建出高效、可维护的Java Web项目。 首先,...
【SSH整合源码详解】 SSH(Struts2、Spring、Hibernate)是Java开发中的经典企业级应用框架组合,常用于构建高效、可扩展的Web应用。这个整合源码旨在为初学者提供一个清晰易懂的学习资源,帮助他们理解这三个框架...
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的整合应用。 首先,我们需要了解SSH的基本概念。SSH主要包括两部分:客户端和服务端。客户端安装在用户计算机上,用于发起连接请求;服务端则运行在远程服务器上,接收并处理连接请求。当用户...
【SSH2与Oracle11g整合详解】 在IT行业中,SSH2(Struts2、Spring、Hibernate2)是一个常见的Java企业级应用开发框架组合,它为开发者提供了强大的模型-视图-控制器(MVC)架构支持,使得业务逻辑处理、数据持久化...
SHH框架集合Webservice是一个专为Java开发人员设计的整合性解决方案,旨在简化Web服务的开发、部署和消费。这个框架结合了Spring、Hibernate和Struts(SHH)这三个流行的开源技术,为构建高效、可扩展的企业级应用...
这个“java学习shh框架jar包”包含了学习SSH整合所需的所有依赖库,便于开发者快速搭建项目环境。下面我们将深入探讨SSH框架的核心概念、作用以及每个组件的关键知识点。 1. **Spring框架**: - Spring是Java应用...
junit4与shh2+velocity框架整合 培训
SSH错误可能出现在各种情况中,例如配置问题、权限问题、密钥对问题或者网络障碍等。以下是对SSH常见错误及其解决方案的详细总结: 1. **错误1:Permission denied (publickey).** 这个错误意味着服务器拒绝了你的...
shh下载
SHH(Secure Shell)是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他安全网络服务。它主要用于在服务器之间传输数据,确保数据在传输过程中不被窃取或篡改。SHH通过加密技术提供了强大的身份验证和...