在spring+hibernate的时候,控制台提示“unclosed connection,forgot to call close() on your session?”
或者是[org.hibernate.jdbc.ConnectionManager] - <finalizing with closed connection>
那是因为有可能是你自己手动创建了session,比如:
private static final SessionFactory sessionFactory;
static {
try {
// Create the SessionFactory from hibernate.cfg.xml
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
然后调用:
Session session = sessionFactory.openSession();
Query query = session.createQuery("from Login");
类似这样的单独使用hibernate时的用法,是需要手工去关闭session的。没有关闭的话就会收到那样的警告。
所以最好是使用spring管理的session,和OpenSessionInViewFilter,比如:
Session session =this.getSession();
然后在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>/*</url-pattern>
</filter-mapping>
其中在spring里注册的sessionfactory必须是id="sessionFactory",如果是id="SessionFactory"或者其他,会提示sessionFactory没有注册的错误,因为OpenSessionInViewFilter里注册的名必须为sessionFactory。
分享到:
相关推荐
12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...
在spring+hibernate的框架中定时操作数据库,主要是拿到sessionFactory,不会出现no session 和transaction no-bound等问题,由sessionFactory完成对数据的操作,有些包是没有用的,有兴趣的可以自己删除掉
spring4.3+hibernate4.3+springmvc+nginx+Redis实现session共享demo
SpringMVC+Hibernate+annotation+Easyui权限管理系统,Session过期控制(包括Ajax请求的过期控制),访问权限控制(权限控制到按钮),hibernate数据库用户名与密码加密,其它的不说了,绝对物有所值
Spring4.0+Hibernate4.0+Struts2.3整合案例:实现增删改查。 ===================== application.xml: xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
完整的spring +springmvc+hibernate+shiro项目实例,详细的shiro配置介绍,通过redis管理用户session缓存。。。。。。。。
手把手教你用myeclipse新建SSH项目struts2+spring+hibernate 功能_Spring编码过滤Servlet_session超时设置_Spring事务管理器的另一种用法
LaySSH 是一款完全开源免费的开发框架,基于 LayUI+SpringMVC+Spring+Hibernate+Mysql 搭建而成,内置代码生成器,能够快速生成增删改查代码,节省开发时间,快速构建企业级的 web 应用系统。 该框架具备一整套完整...
其中Hibernate每次都需要手动创建SessionFactory,Session,手动开启提交关闭事务。而这一切操作完全是由Spring来代替。使持久层更加方便,使开发人员减少持久层操作,把注意力放到业务上。
12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...
12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...
比如说hibernate,我问一个同学session接口的get和load方法有何异同,这位同学含糊了半天没答上来,连这两个方法干什么的都不知道,你是怎么把代码写出来的。问另一个精通struts的同学,HttpServletRequest的...
SpringMVC+Spring4.2+hibernate4.3+shiro1.2.4+ehcache2.0所需jar包,非常有用,你可能会需要。
ssh框架搭建step by step (springMVC + spring 5.0.4 + hibernate 5.0.12) 好久不弄web了, 周末心血来潮, 使用较新spirng/hibernate搭建一个ssh框架, 供有需要的同学参考/学习/使用. 使用eclipse开发, 搭建,分三步: ...
spring5+hibernate5+Spring-session-data-redis2+Spring-data-redis2整合
1、SHH整合 详细清晰的标准配置,主流的应用配置,struts2.2+spring2.5+hibernate3.0 2、结合MYSQL轻量级数据库,有写好的库表sql 3、整合日志管理配置,及Spring代理日志管理的配置及应用 4、应用WEB前段主流技术,...
一个实例小工程,讲解的是将hibernate的sessionFactory交给spring管理的配置方法
部门人员一对多的CRUD操作 hibernate: 管理实体...spring:数据源配置与获得session IOC依赖注入 和 AOP 事务管理 jsf : backing bean的操作 jsf 标签应用 jsf 信息国际化以资源绑定 jsf 表单验证 jsf 导航设定
1.Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭...