Hibernate--面试.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hibernate--面试

Hibernate 1.Hibernate的检索方式 答:①导航对象图检索 ②OID检索 ③HQL检索 ④QBC检索 ⑤本地SQL检索 2. Forward与Global-Forward的区别 答:Forward是根据Action return的值找到对应的JSP页。当多个Action共同return同一个值时,可将这个Forward元素写在Global-Forward中。 3.持久化对象的三种状态,代表含义。 答: 临时状态——刚用new语句创建,未被持久化,不处于session的缓存中。 持久化状态——已经被持久化,处于session的缓存中。 游离态——已经被持久化,但不处于session的缓存中。 4、三种检索策略是什么,分别适用于哪种场合? 答: 立即检索—— 迫切左外连接检索: 延迟检索—— 立即检索—— 即:lazy = false 优点:对应用程序完全透明,缺点:select语句数目多。适用:类级别。 延迟检索——即:lazy = true 优点: 由应用程序决定加载哪些对象,可以避免执行多余的select语句以及避免加载不需要访问的对象,节省内存空间,提高检索效率。 缺点: 应用程序如果要访问游离态的代理类实例,必须保证它在持久化时已经被初始化。 适用: 一对多或多对多关联。应用程序不需要立即访问或者根本不会访问的对象。 迫切左外连接检索: 优点:对应用程序完全透明,不管对象处于持久化状态还是游离状态,应用程序都可以方便的从一个对象导航到另一个与它相关联的对象。使用了外连接,select语句数目少。 缺点:可能会加载程序不需要访问的对象。复杂的数据库表连接形象检索性能。 适用:一对一或多对一关联。应用程序需要立即访问的对象。数据库系统具有良好的表连接性能。 4、ORM解决的不匹配问题(域模型与关系模型之间存在的不匹配) 域模型中有继承关系,关系模型中不能直接表示继承关系。 域模型中有多对多关联关系,关系模型中通过连接表来表示多对多关联关系。 域模型中有双向关联关系,关系模型中只有单向参照关系,而且总是many参照one方。 域模型提倡精粒度模型,关系模型提倡粗粒度模型。 5、映射继承关系的三种方式? 答:(1)继承关系树的每个具体类对应一张表:在具体类对应的表中,不仅包含和具体类属性对应的字段,还包括与具体类的父类属性对应的字段。 (2)继承关系树的根类对应一张表:在根类对应的表中,不仅包括根类属性对应的字段, 还包括根类的所有子类属性对应的字段。 (3)继承关系树中的每个类对应一张表,每个表中只包括和这个类本身属性对应的字段,子类的表参照父类对应的表。 6、Session的find()方法以及Query接口的区别。 答案Session类的find()方法以及Query接口都支持HQL检索方式。这两者的区别在于,find()方法只是执行一些简单HQL查询语句的便捷方法,它不具有动态绑定参数的功能,而且在Hibernate3.x版本中,已经淘汰了find()方法;而Query接口才是真正的HQL查询接口,它提供了以上列出的各种查询功能。 7.hibernate的配置文件(hibernate.properties)中 hibernate.show_sql=true/flase 在开发阶和测试段应设置为(true)在发布阶段应设置为(false); 8.映射一对多双向关联关系中设置SET元素: 请写出级联保存和更新、级联删除应在set元素中需要设置那些子元素?(标明关系、避面重复执行多余SQL语句) Name cascade key column one-to-many inverse 9.list的实现类有那些? 并按照存储结构、机制简单的说一下。 LinkedList、ArryList、Vector。 LinkedList 采用链表数据结构;;;;ArryList代表大小可变的数组。 Vector与ArryList功能比较相似,区别在于Vector采用同步、ArryList没有采用。 10:以下哪个不是Hibernate的检索方式: A、导航对象图检索 B、OID检索 C、ORM检索 D、QBC检索 E、本地SQL检索 F、HQL检索 答案:C 11.持久化类的类名是Customer.java,写出相应的映射文件名 Customer.hbm.xml 。 答案:Customer.hbm.xml 12.继承的三种方式 (1)继承关系树的每个具体类对应一张表:在具体类对应的表中,不仅包含和具体类属性对应的字段,还包括与具体类的父类属性对应的字段。 (2)继承关系树的根类对应一张表:在根类对应

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档