0 0

关于Hibernate释放连接的问题10

我用的是session.createCriteria 的方式查询

后来遇到了连接用光的情况,在网上查了下,说是 session 要自己关闭才行

但是关闭 session 后,设置 了 lazy 的对象,在页面取外连接的对象的值的时候 就报错

这种情况应该如何解决啊。
2008年7月17日 16:16

3个答案 按时间排序 按投票排序

0 0

采纳的答案

不知道楼主有没有用Spring来封装Hibernate的,如果是那可以试试OpenSessionInViewFilter:
OpenSessionInViewFilter是Spring提供的一个针对Hibernate的一个支持类,其主要意思是在发起一个页面请求时打开Hibernate的Session,一直保持这个Session,直到这个请求结束,具体是通过一个Filter来实现的。

由于Hibernate引入了Lazy Load特性,使得脱离Hibernate的Session周期的对象如果再想通过getter方法取到其关联对象的值,Hibernate会抛出一个LazyLoad的Exception。所以为了解决这个问题,Spring引入了这个Filter,使得Hibernate的Session的生命周期变长。

2008年7月17日 18:58
0 0

hibernate引入lazy之后,有很多的session都变成游离态了,所以会报那个错

2008年7月18日 18:13
0 0

如果没有用spring的话,采用TreadLocal类应该也可以实现

2008年7月18日 10:56

相关推荐

    hibernate配置连接池整理

    **标题:“Hibernate配置连接池整理”** 在Java开发中,数据访问层的性能优化往往离不开高效的数据连接管理,而连接池就是实现这一目标的关键技术。Hibernate作为一款强大的对象关系映射(ORM)框架,它提供了与...

    Hibernate Proxool连接池配置总结及常遇问题

    本文将深入探讨Hibernate与Proxool连接池的配置,以及在配置过程中可能遇到的问题。 **1. Proxool简介** Proxool是一个开源的数据库连接池实现,它提供了动态、可扩展的连接池管理服务。通过Proxool,开发者可以...

    hibernate连接池驱动

    无论是c3p0还是Proxool,它们都是为了优化数据库连接的生命周期管理,减少数据库连接创建和释放带来的开销,从而提高系统整体的响应速度和资源利用率。在实际使用中,根据项目规模、并发需求和性能指标进行选择和...

    Hibernate连接池的三种配置方式

    在描述中提到,Hibernate 3.0版本以后不再推荐使用DBCP,因为其存在BUG,可能导致空连接无法释放的问题。因此,开发者通常会转向其他更稳定的连接池实现,如C3P0。 C3P0是Hibernate中常用的一种连接池实现,具有较...

    java hibernate连接池源码

    6. **关闭连接池**:当应用程序退出或不再需要数据库连接时,应调用连接池的关闭方法,释放所有资源。 源代码中,你可能会看到类似以下的代码来获取SessionFactory: ```java Configuration config = new ...

    hibernate配置数据库连接池的三种方法

    - 性能:比较不同连接池的连接建立和释放速度,以及并发处理能力。 - 稳定性:考虑连接池在高负载情况下的表现和错误处理机制。 - 功能:根据项目需求,选择支持更多自定义选项的连接池。 - 社区支持和更新频率:...

    Hibernate数据库连接池

    当应用程序使用完毕并释放连接后,连接池会将该连接回收,以便后续使用。这种方式可以显著提高应用程序的性能和响应速度。 #### 三、为什么Hibernate需要连接池? Hibernate作为一个ORM(Object-Relational ...

    hibernate与连接池

    ### Hibernate与连接池 #### Hibernate简介 Hibernate是一个开放源代码的ORM(对象关系映射)框架,它对JDBC进行了非常轻量级的对象封装,它为程序员提供了强大的面向对象编程能力,极大地简化了数据访问层繁琐的...

    连接池与Spring,Hibernate结合

    在实际开发中,我们通常会编写这样的测试用例来验证连接池的配置是否正确,数据源是否能正常获取和释放连接,以及Hibernate的相关配置是否生效。 总结来说,连接池、Spring和Hibernate的结合是现代Java Web应用的...

    Hibernate Session释放模式

    在处理大量数据或者长时间运行的事务时,合理地管理Session的生命周期至关重要,这就涉及到了Hibernate的Session释放模式。本文将深入探讨Hibernate Session的几种释放模式,以及它们在实际开发中的应用和优缺点。 ...

    hibernate数据库连接

    深入研究Hibernate源码,我们可以看到它如何处理数据库连接的获取、释放以及事务管理。例如,Session是如何调用连接池获取连接,又如何在操作完成后返回连接到池中。这对于优化应用程序性能和理解框架内部机制至关...

    Hibernate连接MSSQL2000实例

    【标题】:“Hibernate连接MSSQL2000实例”是一个关于如何在Java应用程序中使用Hibernate框架与Microsoft SQL Server 2000数据库进行交互的教程。这个实例旨在简化初学者的学习过程,避免他们在配置上花费过多的时间...

    Spring+Hibernate+Proxool连接池

    在Spring框架中,我们可以将Proxool配置为Hibernate的数据源,以实现数据库连接的自动获取和释放。 在描述中提到的“连接池配置文件”,通常是指像`proxoolconf.xml`这样的文件,其中包含了Proxool连接池的配置参数...

    hibernate 连接sqlserver2000

    描述中的链接指向了一个个人博客,虽然具体内容未给出,但我们可以推测博主分享了关于如何配置和使用Hibernate连接SQL Server 2000的经验或教程。 标签 "源码" 和 "工具" 提醒我们可能涉及到具体的代码示例以及可能...

    hibernate c3p0 数据库连接池参数详解.txt

    当达到这个数值时,新的请求将会等待现有连接被释放后才能获取新连接。 ##### 3.3 hibernate.c3p0.min_size - **含义**:定义连接池中的最小连接数。 - **示例配置**: ```xml <property name="hibernate.c3p0....

    hibernate连接池

    此外,注意及时释放连接,避免过多的连接占用导致资源浪费,也是优化的重要方面。 ### 连接池的监控和诊断 为了确保系统的稳定性和性能,监控连接池的状态和行为是非常必要的。许多连接池实现提供了监控接口,可以...

    连接池hibernate配置

    Hibernate会自动从连接池中获取并释放连接。 通过以上步骤,我们可以成功配置Hibernate连接池,实现高效的数据库操作。在实际开发中,应根据应用的负载和性能需求,合理调整连接池的参数,以达到最佳的性能效果。 ...

    hibernate连接oracle

    本教程将详细讲解如何配置和使用Hibernate连接Oracle数据库。 首先,你需要在项目中引入Hibernate的依赖库,通常这包括Hibernate的核心库、JDBC驱动(针对Oracle的ojdbc驱动)以及其他必要的库。确保你已经正确地...

    配置Hibernate使用C3P0连接池

    **配置Hibernate使用C3P0连接池** 在Java Web开发中,数据库连接管理是一个至关重要的环节,有效地管理和控制数据库连接可以提高应用的性能和稳定性。Hibernate作为一款强大的ORM(对象关系映射)框架,提供了与...

    Hibernate连接Sql Server所需的jar包

    7. **关闭资源**:操作完成后,记得关闭Session和SessionFactory,以释放数据库连接资源。 理解并正确使用这些jar包是成功配置Hibernate连接SQL Server的关键。同时,还需要了解SQL Server数据库的基础知识,以及...

Global site tag (gtag.js) - Google Analytics