hibernate的10个常见面试问题及答案-java开发java经验技巧

hibernate的10个常见面试问题及答案-java开发java经验技巧

ID:30777112

大小:50.00 KB

页数:3页

时间:2019-01-03

hibernate的10个常见面试问题及答案-java开发java经验技巧_第1页
hibernate的10个常见面试问题及答案-java开发java经验技巧_第2页
hibernate的10个常见面试问题及答案-java开发java经验技巧_第3页
资源描述:

《hibernate的10个常见面试问题及答案-java开发java经验技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Hibernate的10个常见面试问题及答案-Java开发Java经验技巧Hibernate的10个常见面试问题及答案原文出处:开源中国在JavaJ2EE方而进行而试时,常被问起的Hibernate而试问题,大多都是针对基于Web的企业级应用开发者的角色的。Hibernate框架在Java界的成功和高度的可接受性使得它成为了Java技术栈屮最受欢迎的对象关系影射(0RM)解决方案。Hibernate将你从数据库相关的编码中解脱了出來,使你可以更加专注地利用强大的面向对象的设计原则來实现核心的业务逻辑。采用HibernateAS,你就能够相当容易地在不同的数据库

2、间进行切换,而月•你述可以利用Hibernate提供的开箱即用的二级缓存以及查询缓存功能。你也知道,大部分Java面试中所提的问题不仅仅会涉及Java的核心部分,而且还会涉及其它的Java框架,比如,根据项0的要求也有口J能会问到Spring框架方面的问题或者Struts方面的问题。如果你要参加的项目使用了Ilibcrwtc作为0RM解决方案,你就应该同时准备好回答Spring和Hibernate这两个框架方而的问题。好好看看JD或者职位说明,如果其中的任何地方出现了Hibernate这个词,就要准备好怎样来面对Hibernate方面的问题。本文给岀了一个Hi

3、bernate面试问题列表,这些都是我从朋友以及同事那里搜集来的。Hibernate是一个非常流行的对象关系影射框架,熟捻Hibcrnatc的优势所在以及Hibernate的SesionAPI是搞定Hibernate面试之关键所在。Hibernate中get和load有什么不同之处??把get和load放到一起进行对比是Hibernate面试时最常问到的问题,这是因为只有正确理解get()和load()这二者后才冇口J能高效地使用Hibernateoget和load的最大区别是,如果在缓存中没有找到相应的对象,get将会直接访问数据库并返回一个完全初始化好的对

4、象,而这个过程冇可能会涉及到多个数据库调用;Ifljload方法在缓存屮没冇发现对彖的情况下,只会返冋一个代理对象,只有在对彖getldO之外的其它方法被调用吋才会真正去访问数据库,这样就能在某些情况下大幅度提高性能。你也口J以参考Hibernate中get和load的不同之处,?此链接给出了更多的不同之处并对该问题进行了更细致的讨论。Hibernate中save>persist和saveOrUpdate这三个方法的不同之处?除了get和load,这乂是另外一个经常出现的Hibernate面试问题。所有这三个方法,也就是save()、saveOrUpdate(

5、)和persist()都是用于将对象保存到数据库屮的方法,但其中有些细微的差别。例如,saveO只能INSERT记录,但是saveOrUpdate()可以进行记录的INSERT和UPDATE。还有,save()的返回值是一个Serializable对象,而persist()方法返回值为void。你还可以访问save、persist以及saveOrUpdate,找到它们所有的不同之处。Hibernate中的命名SQL查询指的是什么??Hibernate的这个而试问题同Hibernate提供的查询功能相关。命名查询指的是用标签在影射文档屮定义

6、的SQL查询,可以通过使用Session.getNamedQuery()方法对它进行调用。命名查询使你可以使用你所指定的一个名字拿到某个特定的查询。Hibernate中的命名杳询可以使用注解來定义,也可以使用我而面提到的xml影射问句来定义。在Hibernate屮,@NameQuery用来定义单个的命名查询,@NameQueries用来定义多个命名查询。Hibernate中的SessionFactory有什么作用?SessionFactory是线程安全的吗?这也是Hibernate框架的希'见面试问题。顾名思义,SessionFactory就是一个用于创建Hi

7、bernate的Session对象的工厂。SessionFactory通常是在应用启动时创建好的,应用程序屮的代码用它来获得Session对象。作为一个单个的数据存储,它也是线程安全的,所以多个线程可同时使用同一个SessionFactory。JavaJEE应用一般只有一个SessionFactory,服务于客户请求的各线程都通过这个工厂来获得Hibernate的Session实例,这也是为什么SessionFactory接口的实现必须是线程安全的原因。还有,SessionFactory的内部状态包含着同对象关系影射有关的所有元数据,它是不可变的,一旦创建好后

8、就不能对其进行修改了。Hibernat

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。