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

Hibernate问题总结

阅读更多

Hibernate问题总结

1、         合理选择list(放而不取)和iterate(放且取,先取所有数据的ID值,再根据ID值去查询相应数据,并把取出的数据放于二级缓存中,但是先去缓存中找,再查数据库)方法,充分利用二级缓存;如果缓存中没有数据,则iterate方法的效率很低,因为要发出1+N条查询语句,而list每次只会发出一条查询语句

2、         一对多中,对对象的关联集合属性进行二级缓存;

3、         一对多中,可以合理利用迫切查询来针对懒加载的弊端;

4、         检索时,推荐用HQL,因为HQL很灵活,并且可读性很好,并能重载配置文件中的数据获取(fetch)方式。对HQLQBCSQL的使用,推荐顺序:HQL->QBC->SQL

5、         HQL可以使用连接查询,可以实现多态查询

6、         多对多=>拆分成两个一对多(注意单双向的实际意义);

7、         一对多可以实现表的自连接(主键和外键都在一张表上);

8、         组件映射(细粒度的对象属性,讲一个实体类拆分成几个小的实体类,但是仍然只用一张表映射);

9、         命名的HQL,在hibernate的配置文件中配置;

10、    本地纯粹的SQL语句(尽量少用);

11、    无论是QBC还是HQL,都可以只查询表中的某一个字段的数据(返回相应的数据类型),也可以查询某几个字段的数据(返回一个Object类型的数组);

12、    动态更新(dynamic-update)只是更新改变了的对象属性,对没有改变的对象属性,在底层的SQL语句中不做update操作;

13、    动态插入(dynamic-insert)只是插入已经赋值的对象属性,对于没有赋值的对象属性,,在底层的SQL语句中不做insert操作;

14、    解决由于懒加载(lazy)而造成的异常,可以用Hibernate.initialize()方法对相应的对象进行初始化,也可以用Query迫切查询HQL进行查询,还可以用OpenSessionInView设计模式,不推荐将lazy设为false

15、    在注解方式配置一对多或多对多双向关联中,必设mappedBy属性,相当于XML文件中的inverse属性,设置有哪一方维持关联关系;

16、    注意:其实hibernate中的实体类对象就是通过数据库表中已有的数据构造的,其实数据库表中的数据与hibernate并无什么关系,只不过是hibernate将数据封装成对象罢了,所以数据库表中的数据与hibernate中的什么实体类、什么多态查询、什么继承关联、一对多、多对多等等没有什么紧密的关系,是分离的。所有的这些关联关系在数据库表上无非就是几个外键的关联罢了,但是在hibernate中却被封装成了类与类之间的组合关系;

 

分享到:
评论

相关推荐

    Hibernate知识点总结

    ### Hibernate知识点总结 #### 一、Hibernate概述 Hibernate是一个开源的ORM(Object Relational Mapping,对象关系映射)框架,用于Java应用与关系型数据库之间的交互。它通过使用描述对象和数据库之间映射的元...

    hibernate文档总结,技术汇总,PDF版的,hibernate简明参考文档

    总结来说,Hibernate是一个强大的ORM框架,它极大地简化了Java应用的数据库操作,提高了开发效率,并提供了高级特性如缓存、事务管理等。通过深入理解和熟练使用Hibernate,开发者可以构建更高效、更易于维护的...

    SpringMVCHibernate集成及常见问题总结

    SpringMVC + Spring 3.1.1 + Hibernate 4.1.0 集成是企业级Web应用中常见的技术栈组合,主要用于构建高效、可扩展的后端系统。以下是对这一集成过程中的关键知识点的详细说明: 1. **SpringMVC**:SpringMVC是...

    hibernate学习总结文档

    **Hibernate 框架概述** Hibernate 是一个开源的对象关系映射(ORM)框架,它为 Java 开发者提供了一种在 Java 应用程序中管理关系数据库的方式。通过 ORM,Hibernate 可以将 Java 类与数据库表之间的映射关系自动...

    Hibernate4总结文档

    《Hibernate4总结文档》 Hibernate4作为一款强大的Java对象关系映射框架,简化了数据库操作,使得开发者可以更专注于业务逻辑而不是数据库层面的细节。本文将深入探讨Hibernate4的配置和使用,帮助开发者更好地理解...

    Hibernate 简单 PPT 总结

    【Hibernate 简单 PPT 总结】 Hibernate 是一个流行的开源对象关系映射(ORM)框架,它简化了Java应用程序对数据库的操作。通过提供一套API和元数据,Hibernate允许开发者将业务对象直接映射到数据库表,从而避免了...

    Hibernate大总结/Hibernate面试题大全

    ### Hibernate核心概念与面试知识点详解 #### 一、持久化概念 **持久化**是软件开发中的基础概念之一,指...此外,对于面试者而言,熟悉这些概念也能帮助他们更好地准备面试,尤其是在面对关于Hibernate的具体问题时。

    Hibernate学习笔记与总结

    **Hibernate学习笔记与总结** Hibernate 是一款开源的对象关系映射(ORM)框架,它为Java开发者提供了一种在关系数据库上操作对象数据的便捷方式。本文将深入探讨Hibernate的核心概念、配置、实体类、映射文件、...

    hibernate技术研究对比总结

    **HIBERNATE技术总结** Hibernate 是一个流行的 Java 应用程序框架,它提供了一种对象关系映射(ORM)解决方案,将数据库操作转化为面向对象的编程。此文档旨在研究和对比 Hibernate 技术的不同方面,帮助开发者更...

    Hibernate重点总结

    **Hibernate核心知识点详解** Hibernate是一款强大的Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用面向对象的方式处理数据库事务。在本文中,我们将深入探讨Hibernate的关键概念、...

    hibernate学习资料大全

    【hibernate学习资料大全】 Hibernate 是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。这个压缩包包含了丰富的Hibernate学习资源,旨在帮助开发者深入理解和熟练掌握这一强大的...

    Hibernate 经典总结

    【Hibernate 概述】 Hibernate 是一个流行的 ...面试时,除了了解 Hibernate 的基本概念和特点,面试官更希望听到你在实际项目中如何运用 Hibernate,以及遇到的问题和解决方案,体现出你的实践经验和问题解决能力。

    Hibernate课程的总结

    **标题:“Hibernate课程的总结”** 在学习Hibernate框架的过程中,我们深入探讨了它在Java企业级应用中的核心地位。Hibernate作为一个强大的对象关系映射(ORM)工具,它简化了数据库与Java对象之间的交互,消除了...

    hibernate3 hibernate3

    总结起来,Hibernate3是Java开发中的强大工具,它极大地简化了数据库操作,提高了开发效率。理解并熟练掌握Hibernate3的核心概念和使用方法,对于任何Java开发者来说都是必要的技能。在实际项目中,正确配置和使用...

    Could not roll back Hibernate transaction.doc

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

    Beginning Hibernate: For Hibernate 5

    ### 关于《Beginning Hibernate: For Hibernate 5》的知识点总结 #### Hibernate 5 概述 - **定义**: Hibernate 是一款流行的开源对象关系映射(ORM)框架,它简化了数据库与 Java 对象之间的交互过程。 - **版本**...

Global site tag (gtag.js) - Google Analytics