`

Hibernate面试题

 
阅读更多

hibernate工作原理及为什么要用?

原理: hibernate,通过对jdbc进行封装,对 java类和 关系数据库进行mapping,实现了对关系数据库的面向对象方式的操作,改变了传统的jdbc + sql操作数据的方式,从而使开发人员可以话更多精力进行对象方面的开发

1.读取并解析配置文件

2.读取并解析映射信息,创建SessionFactory

3.打开Sesssion

4.创建事务Transation

5.持久化操作

6.提交事务

7.关闭Session

8.关闭SesstionFactory

为什么要用: 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。

2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作

3. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。


什么是Hibernate延迟加载?

延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。


说下Hibernate的缓存机制

一、hibernate一级缓存(1)hibernate支持两个级别的缓存,默认只支持一级缓存;(2)每个Session内部自带一个一级缓存;(3)某个Session被关闭时,其对应的一级缓存自动清除;

二、hibernate二级缓存 (1) 二级缓存独立于session,默认不开启;


 Hibernate的查询方式

本地SQL查询、Criteria、Hql


 如何优化Hibernate?

1.使用双向一对多关联,不使用单向一对多

2.灵活使用单向一对多关联

3.不用一对一,用多对一取代

4.配置对象缓存,不使用集合缓存

5.一对多集合使用Bag,多对多集合使用Set

6. 继承类使用显式多态

7. 表字段要少,表关联不要怕多,有二级缓存撑腰

分享到:
评论

相关推荐

    Hibernate面试题部分汇总集合

    Hibernate面试题部分汇总集合Hibernate面试题部分汇总集合

    hibernate面试题2

    【hibernate面试题2】涉及了许多关于Hibernate框架的核心知识点,包括检索策略、SQL日志显示、缓存策略以及Hibernate与其他技术(如Spring和Struts)的整合。下面将逐一详细解析这些概念。 1. **Hibernate检索策略*...

    常见hibernate面试题.doc

    ### 常见Hibernate面试题知识点详解 #### 1. Hibernate查询数据的方式 - **导航对象图查询**:这是最基本的查询方式之一,适用于查询对象之间的关联关系。通过已知对象来导航到其他对象,比如通过一个`User`对象...

    hibernate面试题

    ### Hibernate面试题详解 #### 1. Hibernate中的关系类型 题目描述了一种关系选择题,但实际给出的信息并不清晰。不过,根据选项推测,此题意在考察Hibernate中实体间的关系类型。 - **一对一 (One-to-One)** - *...

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

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

    ( [尚硅谷]_佟刚_Hibernate面试题分析.zip

    【标题】:“尚硅谷_佟刚_Hibernate面试题分析” 【描述】提到的资源是针对Hibernate框架的一份面试题分析资料,由尚硅谷教育机构的讲师佟刚提供。该资源可能包含了对Hibernate在实际开发中常见问题的解答,以及...

    hibernate面试题.doc

    【知识点详解】 ...综上所述,Hibernate是一个强大的ORM框架,能够有效地处理对象与数据库之间的映射,优化查询性能,以及管理对象的状态。理解和熟练运用这些知识点对于开发基于Java的数据库应用程序至关重要。

    Hibernate面试题-详尽解析

    ### Hibernate面试题详解 #### 一、主键生成方式中的`native`与`identity`区别 **1.1 native方式** - **定义**: `native`是一种动态选择标识符生成策略的方式,它根据所使用的底层数据库系统自动选择最适合的生成...

    Hibernate面试题及答案大集合

    ### Hibernate面试题及答案大集合解析 #### 1. 关系数据模型与对象模型之间的匹配关系 - **选项分析**: - A) 表对应类:正确。在ORM(对象关系映射)中,数据库中的每一张表通常对应着Java中的一个类。 - B) ...

    hibernate面试题及答案

    ### Hibernate框架概述 #### 1. Hibernate框架定义与特点 - **定义**:Hibernate是一个开源的对象关系映射(ORM)框架,它为Java应用程序提供了一种简单高效的方式来处理数据库交互。通过将Java对象与数据库表建立...

    Hibernate面试题分析.zip

    《Hibernate面试题分析》 在Java开发领域,Hibernate作为一个强大的对象关系映射(ORM)框架,始终占据着举足轻重的地位。对于求职者来说,掌握Hibernate的基本概念、使用技巧以及常见问题的解决方法,是面试中必不...

    struts+spring+hibernate面试题

    在Java Web开发中,Struts、Spring和Hibernate是最常见的三大框架,它们...以上就是关于Struts、Spring和Hibernate面试题的详细解析,涵盖了这三大框架的关键概念和使用技巧,对于理解和解答相关面试问题非常有帮助。

    hibernate面试题总结

    Hibernate是Java领域中一款流行的持久...以上就是Hibernate面试中常见的问题和答案,涵盖了基本概念、缓存策略、查询方式以及事务和数据访问等方面的知识点。理解并掌握这些内容对于深入学习和使用Hibernate至关重要。

    hibernate面试题总会

    【hibernate面试题总汇】 hibernate 是一个强大的对象关系映射(ORM)框架,它的核心功能在于将Java对象的数据映射到关系数据库中,使得开发人员能够以面向对象的方式来处理数据库操作,而无需过多关注底层的SQL...

    Hibernate面试题分析_尚硅谷_佟刚

    1. Hibernate 的检索方式有哪些 ? 2. 在 Hibernate 中 Java 对象的状态有哪些 ? 3. Session的清理和清空有什么区别? 4. load()和get()的区别 5. hibernate 优缺点......

    struts2、spring、hibernate面试题集

    一、Hibernate面试题分析: 1. Hibernate是什么?它与JDBC有什么区别? Hibernate是一个对象关系映射(ORM)框架,它将数据库操作转化为对Java对象的操作,简化了数据访问。与JDBC相比,Hibernate提供了更高级别的...

Global site tag (gtag.js) - Google Analytics