hibernate运行一段时候后出现假死现象
最近在维护一个外包遗留下的Hibernate+spring+spring mvc的一个项目,发现该项目运行一段时间后,发现APP请求后一直处于等待状态,直到请求超时,于是调试跟踪了一下,发现是操作数据库时一直没有返回,刚开始以为是数据库连接超时,但是后来想想,连接超时应该会报异常呀,而这个是没有报任何异常,程序走到执行SQL语句时就不往下走了,停了,出现假死现象一直没有返回,于是断定可能是操作数据库后连接没有关闭导致数据库连接池满了,但是后来查看代码,发现时DAO继承的是spring的HibernateDaoSupport,所以应该session的关闭都归spring来集中管理,代码不需要手动关闭,郁闷了一段时间,确定再去仔细看了DAO里面的代码,这次发现了一个很有问题的操作,代码里面直接用this.getSession()来操作数据而且没有手动关闭该session,而不是通过this.getHibernateTemplate().getSessionFactory().openSession()来操作数据库,后来查了一下发现如果用this.getSession()是需要手动关闭session的.于是,我在每次this.getSession(),操作数据库后把session关闭,运行了很久后,再也没有出现假死现象了。
分享到:
相关推荐
标题“菜鸟快速运行第一个hibernate”表明了这是一个针对初学者的教程,旨在帮助他们快速上手并成功运行他们的第一个Hibernate项目。Hibernate是一个强大的Java ORM(对象关系映射)框架,它简化了数据库操作,使得...
hibernate-entitymanager-5.4.24.Final.jarhibernate-entitymanager-5.4.24.Final.jar
解决hibernate在MyeclipseH不能正常运行问题
本文将深入探讨在Hibernate中如何有效地管理和操作大字段,以确保性能和数据完整性的最佳实践。 一、CLOB与BLOB类型 1. CLOB:CLOB用于存储非结构化的文本数据,如长篇小说、XML文档等。在Hibernate中,CLOB对应的...
【描述】提到的链接指向了一个CSDN博客文章,虽然具体内容无法在此处复制,但通常这类文章会详细解释如何在非集成开发环境(IDE)中设置和运行Hibernate Tool。通常步骤包括以下几个关键知识点: 1. **下载...
Hibernate Tools 是一个强大的开发工具,它为Hibernate ORM框架提供了丰富的集成开发环境支持,包括逆向工程(从数据库生成实体类)、代码生成、JPA支持以及HQL和SQL查询的调试等。要运行或修改Hibernate Tools的...
标题中的“hibernate jar包”指的是Hibernate框架所需的一系列Java类库文件,通常以jar格式打包,包含了运行Hibernate所需的各种组件。这些jar文件包含了Hibernate的核心API、数据库驱动、缓存机制以及用于处理对象...
在Java开发环境中配置Hibernate,首先需要搭建一个完整的运行环境,这包括安装必要的软件、导入所需的jar文件以及配置相关的属性。下面将详细阐述如何配置Hibernate的开发环境以及jar文件的重要性。 1. **安装Java...
Hibernate是一个开源的对象关系映射(ORM)框架,它封装了JDBC(Java Database Connectivity)的复杂性,并允许Java开发者以面向对象的方式操作数据库。Hibernate框架被广泛应用于企业级Java应用程序中,可以与...
本人也是初学者,初次建造hibernate开发环境,幸运的是成功了,现在那出来分享下。内有hibernate运行说需的jar包(asm.zip, cglib-2.1_2jboss.jar, dom4j-1.6.1.jar ,hibernate3.jar, jta.jar)
在Java持久化框架Hibernate中,缓存机制是一个重要的性能优化手段,它能够显著减少数据库的访问次数,提高应用程序的运行效率。本篇将深入探讨Hibernate的一级缓存和二级缓存,以及查询缓存的配置和使用。 ### 一级...
通过运行这个程序,你可以学习到如何整合Struts、DAO和Hibernate来创建一个完整的Web应用,了解它们之间的协作机制,以及如何处理用户输入、验证数据和展示结果。同时,这也将帮助你理解MVC模式、数据持久化和面向...
Hibernate 支持各种关联映射,如一对一、一对多、多对一和多对多。理解这些关联关系的建立和查询,能够帮助开发者设计出更灵活的数据模型。 8. **缓存机制**: Hibernate 提供了第一级缓存和第二级缓存,以及查询...
最近看了CSDN上几个Hibernate开发的租房系统 不是版本太老就是不能运行 闹心了一星期 自己终于成功运行 另附上Oracle开发脚本 注意:一 MyEclipse8的可直接加载 MyEclipse2013需要系统转换 不然会缺少文件 二 ...
Hibernate 是一个基于Java的ORM(Object-Relational Mapping,对象关系映射)框架,它提供了一种简洁高效的方式来访问和操作关系数据库。下面是 Hibernate 的主要知识点: Hibernate 简介 Hibernate 是一个开源的...
下载Hibernate-Extensions的完整安装包(如Hibernate-extensions-2.1.3)后,将其添加到项目的类路径中。接着,在Hibernate配置文件中启用所需的扩展,并根据项目需求进行相应配置。安装过程简单直观,使得开发者能...
3. 实体类和映射文件:在Hibernate中,每个Java实体类都对应着数据库中的一个表,通过XML映射文件(hbm.xml)或注解方式来定义字段与表字段的对应关系。实体类通常需要继承Hibernate的Serializable接口,并使用@...
例如,当你已经有了一个完整的数据库结构,只需要运行Middlegen-Hibernate,就可以得到一套完整的Java持久化模型,再配合hibernate-extensions,可以直接将这些模型同步到数据库,或者更新数据库以适应模型的变化。...
在描述中提到“能直接运行的,配有maven”,这意味着这个压缩包提供了一个完整的项目,包括源代码和配置文件,用户下载后无需额外设置即可启动运行。Maven是一个项目管理和综合工具,它帮助开发者管理项目的依赖关系...
为了运行一个基于Hibernate的项目,我们需要准备以下组件: 1. **JDK**: Hibernate依赖Java运行环境,确保你的系统已经安装了JDK,并且版本兼容Hibernate的最低需求。 2. **Maven或Gradle**: 项目构建工具,用于...