kgdjgd1234 2008-07-17 16:16
浏览 587
已采纳

关于Hibernate释放连接的问题

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

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

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

这种情况应该如何解决啊。

  • 写回答

3条回答 默认 最新

  • huangfengjing 2008-07-17 18:58
    关注

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退