`
AutomaticThoughts
  • 浏览: 165582 次
社区版块
存档分类
最新评论

hibernate问题

 
阅读更多

1.谈谈hibernate的延迟加载和openSessionInView
OpenSessionInViewFilter是Spring提供的一个针对Hibernate的一个支持类,其主要意思是在发起一个页面请求时打开Hibernate的Session,一直保持这个Session,直到这个请求结束,具体是通过一个Filter来实现的。
  由于Hibernate引入了Lazy Load特性,使得脱离Hibernate的Session周期的对象如果再想通过getter方法取到其关联对象的值,Hibernate会抛出一个LazyLoad的Exception。所以为了解决这个问题,Spring引入了这个Filter,使得Hibernate的Session的生命周期变长。
  有两种方式可以配置实现OpenSessionInView,分别是OpenSessionInViewInterceptor和OpenSessionInViewFilter,功能完全相同,只不过一个在web.xml配置,另一个在application.xml配置而已。我个人比较倾向配置在application.xml里,因为web.xml里配置的东西的太多的话容易发生冲突,虽然可以调整,但是毕竟多了个麻烦。

 

 

2.在数据库中条件查询速度很慢的时候,如何优化?
1. 建索引
2. 减少表之间的关联
3. 优化sql,尽量让sql很快定位数据,不要让sql做全表查询,应该走索引,把数据量大的表排在前面
4. 简化查询字段,没用的字段不要,已经对返回结果的控制,尽量返回少量数据

 

3.HIbernate 的工作原理是什么?
1.通过Configuration().configure()读取并解析hibernate.cfg.xml配置文件
2.由hibernate,cfg.xml中的<mapping resource="con/xx/xx.hbm.xml"/>读取解析映射关系
3.通过config.buildSessionFactory()创建sessionFactory
4.sessionFactory.openSession()打开Session
5.session.beginTransaction 创建事物Transaction
6.persistent operate 持久化操作
7.session.getTransaction().commit() 提交事物
8.关闭session 和sessionFactory

分享到:
评论

相关推荐

    Hibernate面试题专栏 - 最全的Hibernate面试题, Hibernate笔试题, Hibernate问题

    【标题】与【描述】提及的是“Hibernate面试题专栏”,主要涵盖了全面的Hibernate面试题、笔试题以及相关问题,这表明我们将要讨论的是Java领域中著名的对象关系映射框架——Hibernate的相关知识。Hibernate是一个...

    Hibernate问题集锦

    \Hibernate 问题集锦.docx

    Hibernate相关jar包括新版本jdk不兼容旧版本的jar.zip

    这个问题在"Hibernate相关jar包括新版本jdk不兼容旧版本的jar.zip"这个压缩包中被提及,表明其中可能包含了针对这种兼容性问题的解决方案。 首先,我们需要理解为什么新版本的JDK可能导致与Hibernate的不兼容性。...

    hibernate ppt 有问题 www.willvc.com.cn 能联系到我

    由于具体问题未明确,我们将探讨一些常见的Hibernate问题及其解决方法。 【标签】:“hibernate ppt 有问题 www.willvc.com.cn 能联系到我” 这里的标签再次强调了问题的核心,即与Hibernate相关的PPT内容存在困惑...

    HIBERNATE入门

    在培训中,会通过案例分析,如招聘面试中的Hibernate问题和失败项目的教训,来帮助学员深入理解Hibernate的实际应用。这包括了解Hibernate的架构,掌握实体、会话、查询等核心概念,以及如何配置和使用...

    spring+hibernate包冲突问题

    在开发Java Web应用程序时,Spring和...通过以上步骤和策略,大多数Spring与Hibernate的包冲突问题都可以得到解决。在实际开发过程中,应始终关注框架的新版本和官方文档,以便获取最新的兼容性和最佳实践信息。

    《精通Hibernate》学习-对象关系映射基础.zip

    15. 错误处理和优化:学习如何调试常见的Hibernate问题,如N+1查询问题、懒加载异常等,以及如何进行性能调优,如合理设置缓存策略、避免过多的JOIN操作等。 以上就是《精通Hibernate》学习中涉及的主要知识点。...

    Hibernate Hibernate5 讲义 PDF

    这主要是为了解决内存的不稳定性和容量限制问题,并满足业务数据共享、大规模数据检索和数据管理的需求。 在企业级应用中,对象序列化适合少量对象的持久化,但不符合大规模查询和长时间保存的需求。因此,除了对象...

    hibernate aip hibernate aip

    8. **查询优化**:避免N+1查询问题,使用JOIN fetch提前加载关联数据,使用HQL或JPQL替代原生SQL以利用Hibernate的优化能力。 9. **错误处理和日志记录**:理解Hibernate常见的错误和异常,如 detached entity ...

    springMvc+Hibernate实现的一个问题管理系统

    《基于SpringMvc+Hibernate的问题管理系统实现详解》 在IT领域,高效的问题管理是任何软件开发团队不可或缺的一部分。本文将深入探讨如何使用SpringMvc和Hibernate这两个强大的框架,构建一个功能完善的问题管理...

    hibernate3.zip 包含hibernate3.jar

    二级缓存则是在多个`Session`间共享的,可以提高数据读取效率,但需谨慎使用以防止数据一致性问题。 8. **持久化类和映射文件**:持久化类是与数据库表对应的Java类,通常包含一些特定的注解或XML映射文件...

    Hibernate需要注意的问题

    《Hibernate需要注意的问题与数据源配置详解》 在Java企业级开发中,Hibernate作为一种流行的ORM(对象关系映射)框架,极大地简化了数据库操作。然而,使用Hibernate的过程中,开发者需要特别注意一些关键点,以...

    hibernate-release-4.1.4

    3. **文档**:如用户指南、API文档,帮助开发者快速上手和解决问题。 4. **示例**:包含了一些演示如何使用Hibernate的代码示例,有助于理解其用法。 5. **配置文件**:可能有默认的配置模板,展示如何配置Hibernate...

    hibernate-3.2源代码

    《深入剖析Hibernate 3.2源代码...通过深入学习Hibernate 3.2的源代码,开发者不仅可以了解其实现原理,还能在遇到问题时更快定位,进行定制化开发。同时,这也有助于理解ORM框架的工作方式,提升软件设计和开发能力。

    hibernate-extensions和Middlegen-Hibernate

    为了解决这一问题,两个工具——hibernate-extensions和Middlegen-Hibernate应运而生,它们可以自动生成这些代码,提高了开发效率。 **hibernate-extensions** 是Hibernate框架的一个扩展,它提供了一些额外的功能...

    Could not roll back Hibernate transaction.doc

    然而,在使用Hibernate时,可能会遇到事务回滚失败的问题,本文将详细介绍该问题的原因和解决方法。 一、问题描述 在使用Hibernate时,可能会遇到以下错误信息: Could not roll back Hibernate transaction; ...

    Hibernate update问题

    【Hibernate更新问题详解】 Hibernate,一个强大的Java对象关系映射(ORM)框架,极大地简化了数据库操作。在处理数据更新时,Hibernate提供了多种方法,但同时也可能会遇到一些常见问题。本篇文章将深入探讨...

    Hibernate做的留言板

    同时,作者也邀请用户在遇到问题时到其个人空间留言咨询,显示出开发者愿意分享和解答疑惑的态度,有助于初学者解决在使用过程中可能遇到的问题。 【标签】"3 Hibernate 源代码" 提示我们,这个项目使用了Hibernate...

Global site tag (gtag.js) - Google Analytics