作为常用的框架之一,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在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的 *** 作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。
以上就是java之Hibernate面试要点总结,相信学过Hibernate的人,本篇大部分的题目都可以答出来。对于一些自己不懂的地方,还需要在课后进行弥补。更多Java学习指路:java教程
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)