成都创新互联网站制作重庆分公司

常见的Hibernate面试题-创新互联

常见的Hibernate面试题?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

在化州等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站建设、外贸营销网站建设 网站设计制作按需网站策划,公司网站建设,企业网站建设,成都品牌网站建设,成都营销网站建设,成都外贸网站建设公司,化州网站建设费用合理。

作为常用的框架之一,Hibernate在面试的时候难免会被问到。好在涉及的都是一些理论方面的知识点,比如概念、原理、使用之类的。我们在面试之前可以针对这方面的题目,做一个充足的准备,即使有些人对hibernate框架的了解并不深入。下面我们就hibernate框架中常见的面试题带来介绍。

1. 为什么要使用 hibernate?

(1).对JDBC做了轻量级的封装,简化了数据访问层编码。

(2).Hibernate是一个ORM框架,开发者可以使用面向对象的思想操作数据库,使用更加方便。

(3) hibernate映射很灵活,支持各种关系数据库,从一对一到多对多的各种复杂关系。

2.比较hibernate的三种检索策略优缺点

(1)立即检索;

优点: 对应用程序完全透明,不管对象处于持久化状态,还是游离状态,应用程序都可以方便的从一个对象导航到与它关联的对象;

缺点:1.select语句太多;2.可能会加载应用程序不需要访问的对象白白浪费许多内存空间;

(2)延迟检索:

优点: 由应用程序决定需要加载哪些对象,可以避免可执行多余的select语句,以及避免加载应用程序不需要访问的对象。因此能提高检索性能,并且能节省内存空间;

缺点: 应用程序如果希望访问游离状态代理类实例,必须保证他在持久化状态时已经被初始化;

(3)迫切左外连接检索

优点:对应用程序完全透明,不管对象处于持久化状态,还是游离状态,应用程序都可以方便地冲一个对象导航到与它关联的对象。使用了外连接,select语句数目少;

缺点:可能会加载应用程序不需要访问的对象,白白浪费许多内存空间;复杂的数据库表连接也会影响检索性能;

3.什么是 ORM 框架?

(Object Relation Mapping)对象关系映射,即通过类与数据库表的映射关系,将对象持久化到数据库中。

4.hibernate对象的三种状态

Hibernate中对象有三种状态: 临时状态(Transient)、持久状态(Persistent)、游离状态(Detached)

临时状态:刚刚使用new语句创建,还没有被持久化,不处于Session的缓存中。处于临时状态的状态的Java对象被称为临时对象。

持久化状态:已经被持久化,加入到Session的缓存中。处于持久化状态的Java对象被称为持久化对象。

游离状态:已经被持久化,但不处于session的缓存中。处于游离状态的Java对象被称为游离对象。

5.Hibernate是如何延迟加载?

当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。

面试题扩展:

1.一般情况下,关系数据模型与对象模型之间有哪些匹配关系(多选)

A)表对应类

B)记录对应对象

C)表的字段对应类的属性

D)表之间的参考关系对应类之间的依赖关系

2.以下关于SessionFactory的说法哪些正确?(多选)

A)对于每个数据库事务,应该创建一个SessionFactory对象

B)一个SessionFactory对象对应一个数据库存储源。

C)SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据库存储源,只需要创建一个。

D)SessionFactory的load()方法用于加载持久化对象

3.元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?(单选)

A)none

B)save

C)delete

D)save-update

5.以下哪些属于Session的方法?


A)load()

B)save()

C)delete()

D)update()

E)open()

F)close()

看完上述内容,你们掌握常见的Hibernate面试题的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


本文标题:常见的Hibernate面试题-创新互联
当前链接:http://cxhlcq.com/article/joghs.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部