Hibernate 考试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Hibernate

考试题

一.填空题:

1. 对象关系映射(ORM)的基本原则是:类型(class)映射(),属性(property)映射(),关联关系(association)映射(),类型的实例或对象(instance | object)映射()。

2. Hibernate应用通常由四个部分组成,它们是使用Hibernate API 的程序和(、、)。

3. Hibernate应用缺省的XML格式的配置文件名是(), 放置在()下;该配置文件的根元素是(),根元素的子元素是();配置数据库方言的属性名是();配置数据库连接的四种属性名是(、、、);配置映射资源的元素是(),如果映射用XML文件表示,用属性()表示,如果映射用标注(annotation)表示,用属性()表示。

4. Hibernate XML映射文件的根元素是();此根元

素下主要的子元素是();映射实体类中表示主键的属性的元素是();映射实体类中普通属性的元素是();映射一对一关联关系的元素是();映射多对一关联关系的元素是();表示多对多关系用集合元素,这些集合元素是();描述外键用元素(); 如果一个类型不是实体,但它是某个实体的组成部分,我们用元素()表示;在描述继承关系时,如果用一张表对应整个类层次结构子类型用元素()描述,如果每个子类型对应各自的表子类型用()描述,如果只有真正的可实例化的子类型才对应表则子类型可用元素()或元素()描述;代表双向关联关系时表示是否维护表中外键关系的属性名是();代表级联操作的属性名是();使用乐观锁时我们通常会在实体类型中增加一整型或日期型的属性,在影射文件中用元素(或)描述。

5. 在Hibernate XML影射文件中描述主键生成机制用元素(),其属性描述了主键的生成策略,至少写出三种策略名(、、)。

6. 在Hibernate XML影射文件中级连操作的属性值至少写出三

个(、、)。

7. 在Hibernate XML影射文件中描述HQL语句所用元素为()。

8.基于Hibernate用标注(annotations)描述映射关系,实体类型用标注();实体对应的表用标注();映射实体类中表示主键的属性的标注是();映射实体类中普通属性的标注是();实体属性对应的列用标注();应映射一对一关联关系的标注是();映射多对一关联关系的标注是();映射多对多关系的标注是();描述单一外键列用标注(),连接表用标注(); 如果一个类型不是实体,但它是某个实体的组成部分,我们用标注()来标注此类型;在描述继承关系时,用标注(),该标注的属性()用来指定影射策略;代表双向关联关系时表示不维护表中外键关系的标注属性名是();代表级联操作的属性名是();使用乐观锁时我们通常会在实体类型中增加一整型属性,该属性用标注()。

9.描述主键生成机制的JPA标注是(),Hibernate有更灵活的主键生成机制,Hibernate提供标注()来增加此功能。

10. 申明外部查询语句用标注()。

11. 用Hibernate API编写操作实体的应用程序的六个基本步骤是(a. 、 b. 、c. 、d. 、e. 、f. )。

12. 获得用XML描述映射的Hibernate配置的类型是();获得用标注描述影射的Hibernate配置的类型是();Hibernate的会话接口是(),它由接口()创建;Hibernate处理事务的接口是();封装HQL的接口是(),封装数据库SQL的接口是(),用面向对象的方式封装查询的接口是()。

13.Hibernate的会话接口中声明了持久化的操作:保存一个新实体的方法是()和(),更新一个实体

的方法是()和(),删除一个实体的方法是(),合并一个实体的方法是(),通过主键查找实体的方法是()和(),获得事务处理接口的方法是()。

14. Hibernate的会话接口同时又是一个工厂类型:创建一个HQL 查询接口的方法是(),获得一个外部描述的查询接口的方法是(),创建基于公式(标准)接口的方法是(),创建一个过滤器的方法是()。从这些接口中获得单一查询对象用它们的方法(),获得多个查询对象的方法是()和()。

15.Hibernate对象生命周期中的三个状态是(、、)。

16.列出除Hibernate之外的三种ORM框架(、、)。

二.解释作图题

1.画出Hibernate最简略的架构图(它将告诉我们Hibernate的运

行机制和Hibernate应用的组成部分)

2. 画出Hibernate对象的生命周期图(状态转换图)

3. 给出2.中三种主要状态的定义

4. 解释什么是传递持久化(transitive persistence)

5. 事务解决的主要问题是什么?它带来的好处是什么?在Hibernate中支持的事务处理有哪些?

6. 说明什么是乐观锁和悲观锁?在Hibernate中如何实现的?

7. 在Hibernate中支持的连接查询有哪几种?

8. 说明会话接口中根据主键查询唯一实体对象的两种方法的差别。

9.在Hibernate中如何处理大量的插入对象?

10. 在Hibernate中如何处理大量按同一条件的更新和删除?这种处理如何与事务配合?有哪些注意事项?

11. Hibernate中openSession()和getCurrentSession()有什么差别?

12. 说明Hibernate的局限性(附加题)

13. Hibernate应用有固定的模式,因此我们可以应用一些设计模式来简化编程。请问我们主要采用哪些模式?(附加题)

14. 说明Hibernate应用优化的手段。(附加题)

三. 纸上程序

根据下面的图完成任务:

相关文档
最新文档