`
iliuyong
  • 浏览: 144127 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

LazyInitializationException碰上这个异常后学习的

阅读更多

原文地址 http://bbs.gimoo.net/thread/157140-1.html

 

OpenSessionInViewFilter 会将事务跨越 request 到 response 的整个 HTTP 生命周期,会长时间地占用数据库连接,可能在用时很方便,但是这一种非常消耗系统资源的解决方案,应尽量避免使用!
如果要在外使用到一对多,多这一方的数据,就使用 LEFT JOIN FETCH 一次性查出来,而不使用 LAZY 在其他层再来一次 SQL 查出来。

分享到:
评论

相关推荐

    Hibernate映射导致的几个异常

    1. **`LazyInitializationException`:** 这个异常通常发生在尝试在会话关闭后访问一个延迟加载属性时。为避免此问题,可以考虑在查询时显式加载关联的数据,或者使用开放会话视图(Open Session In View)模式。另外...

    懒加载异常解决.docx

    在使用懒加载技术时,可能会遇到“LazyInitializationException”这类异常。该异常通常发生在试图访问延迟加载的关联对象时,而此时Session已经关闭的情况。例如,在Hibernate中查询一个对象并尝试访问其延迟加载的...

    java错误大全(包括基本异常和开源框架出现的异常)

    2. **基本异常:**如`NullPointerException`,表示尝试访问或操作一个空引用对象。这可能是因为未初始化变量,或者在数据库连接配置中出现问题,如Hibernate的`hibernate.cfg.xml`文件。 3. **类路径问题:**当类找...

    Java常见异常集-Java,Hibernate,Tomcat异常

    13. **Hibernate的LazyInitializationException**:当试图初始化一个代理对象,但其所属的Session已关闭时,会抛出此异常。解决方法是确保在Session关闭前完成懒加载操作,或考虑使用Eager Loading或Open Session In...

    Hibernate学习包

    10. **异常处理**:在处理一对一关联时,可能会遇到一些常见的Hibernate异常,如`LazyInitializationException`,这通常发生在尝试访问已脱离Session的懒加载关联时。了解这些异常及其解决方案是必要的。 通过这个...

    java错误大全(包括基本异常和开源框架出现的异常)

    18. **LazyInitializationException 或者延迟加载异常** - **可能的原因1**:未启用延迟加载或配置不当。 - **解决方法**:在查询语句中添加`fetch`选项以启用延迟加载。 19. **IdentifierGenerationException**...

    JAVA常见错误大全.pdf

    7. LazyInitializationException:这个异常发生在尝试访问一个延迟加载的关联对象时,但是该对象的会话已经关闭。解决方法是在访问关联对象之前确保相关的Hibernate会话是开启状态。 8. ...

    编程语言Javaweb常见错误.pdf

    2. NoDataFoundException:这个异常可能发生在数据库操作中,当预期查询应该返回结果集,但实际上并没有找到任何数据时抛出。文档中提到了一个设置整型值的SQL语句,可能由于查询条件不匹配或记录不存在而没有返回...

    ssh 学习笔记

    SSH(Struts2、Hibernate、Spring)学习笔记详细涵盖了SSH三大框架的学习经验和常见问题解决方案。SSH三大框架在Java Web开发中被广泛使用,它们相互配合,各司其职,能够帮助开发者构建稳定高效的系统。 Struts2是...

    集成spring的hibernate懒加载

    然而,在实际应用中,我们常常会遇到一个名为“懒加载”(Lazy Loading)的问题,这在标题和描述中被提及。懒加载是一种优化策略,用于推迟对关联对象的加载,直到真正需要它们的时候。这种设计可以提高系统的性能,...

    Open Session in View模式.PPT

    - 如果在一个Session结束后尝试访问延迟加载的属性,将会抛出`LazyInitializationException`,因为Session已经关闭,无法再发起数据库查询。 2. **体验延迟加载** - 为了确保延迟加载能在整个请求生命周期内工作...

    spring学习笔记

    - Inversion of Control(控制反转):传统情况下,对象自己负责创建和管理依赖,而在 Spring 中,这个过程由 Spring 容器控制,对象只需声明需要的依赖,由容器负责注入。 - Dependency Injection(依赖注入):是 ...

    错误及解决方案.pdf

    内容中多次提及了“lazy initialization”异常,这通常发生在尝试访问一个被延迟加载的集合时,但是会话(Session)已经关闭或不存在。这表明开发者需要理解对象的生命周期管理、延迟加载(懒加载)机制以及...

    SSH整合示例项目 hibernate5.2.3+struts2.5.2+spring4.3.3.zip

    SSH整合是Java Web开发中...综上所述,这个SSH整合示例项目展示了如何高效地集成这三个框架,以构建一个功能完备、易于维护的Java Web应用。开发者可以通过学习和实践这个项目,深入理解SSH整合的核心概念和实际运用。

    java程序中的延时加载异常及解决方案

    总之,Java程序中的延时加载异常主要是由于在Session关闭后尝试初始化延迟加载对象造成的。通过使用`OpenSessionInViewFilter`、合理设计数据访问策略或改变加载模式,我们可以有效地避免这类异常,实现更高效的系统...

    无处不在的Spring AOP事务及踩过的坑

    4. **懒加载异常**:在事务外部访问懒加载的Hibernate实体时,可能会触发`LazyInitializationException`。这是因为事务结束时,Hibernate会关闭Session,此时试图访问的数据已无法获取。为避免这种情况,可以在需要...

    Hibernate延时加载与lazy机制.doc

    - 若Session关闭后访问延迟加载对象,会抛出`LazyInitializationException`。 **7. 影响行为** - 如果在Session生命周期内未访问延迟加载对象,直到Session关闭都不会执行SQL,节省了数据库资源。 综上,理解并...

    hibernate的lazy策略forClass

    在这个场景中,我们关注的是"hibernate的lazy策略forClass",这涉及到如何对类的属性进行懒加载配置。 首先,我们需要理解Hibernate中的实体类(Entity)。在Hibernate中,一个Java类可以被映射为数据库中的一个表...

    hibernate延迟机制分析

    然而,当在Session关闭后尝试访问这些延迟加载的属性,就会抛出`org.hibernate.LazyInitializationException`异常,提示“无法懒惰初始化集合角色...,无会话或会话已关闭”。这是因为延迟加载需要有效的Hibernate ...

    hibernate错误示例一

    通过分析这个错误,我们可以深入理解Hibernate的OneToOne关联,并学习如何正确配置和解决此类问题。 标题“hibernate错误示例一”表明我们将关注一个特定的错误场景,这通常涉及到代码中的配置错误或理解误区。在...

Global site tag (gtag.js) - Google Analytics