Hibernate考试试题.docx

上传人:b****6 文档编号:5919087 上传时间:2023-01-02 格式:DOCX 页数:17 大小:548.75KB
下载 相关 举报
Hibernate考试试题.docx_第1页
第1页 / 共17页
Hibernate考试试题.docx_第2页
第2页 / 共17页
Hibernate考试试题.docx_第3页
第3页 / 共17页
Hibernate考试试题.docx_第4页
第4页 / 共17页
Hibernate考试试题.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

Hibernate考试试题.docx

《Hibernate考试试题.docx》由会员分享,可在线阅读,更多相关《Hibernate考试试题.docx(17页珍藏版)》请在冰豆网上搜索。

Hibernate考试试题.docx

Hibernate考试试题

Hibernate考试

[单项选择题]

1、在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下面方法可行的是()

A.配置客户和订单关联的cascade属性为save-update

B.配置客户和订单关联的cascade属性为all

C.设置多对一关联的inverse属性为true

D.设置多对一关联的inverse属性为false

参考答案:

B

[单项选择题]

2、下面创建Criteria对象的语句中正确的是()

A.Criteria c = query.createCriteria();

B.Criteria c = query.addCriteria();

C.Criteria c = session.createCriteria();

D.Criteria c = session.createCriteria(User.class);

参考答案:

D

[单项选择题]

3、下面关系Hibernate对象的状态说话正确的是()

A.Hibernat的对象只有一种状态

B.Hibernat的对象有2种状态

C.Hibernat的对象有3种状态

D.Hibernat的对象有4种状态

参考答案:

C

[单项选择题]

4、J2EE中往往使用()封装业务实体,()封装业务逻辑,()调用

A.实体Bean、会话 Bean、实体Bean、会话 Bean

B.实体Bean、会话 Bean、会话Bean、实体Bean

C.会话Bean、实体Bean、实体Bean、会话 Bean

D.会话Bean、实体Bean、会话Bean、实体Bean

参考答案:

B

[单项选择题]

5、状态SessionBean和无状态SessionBean的区别说法正确的是()

A.无状态Session Bean要保存客户端的状态,同客户端是一对一

B.有状态Session Bean要保存客户端的状态,同客户端是一对一

C.他们都要保存客户端的状态,同客户端是一对一

D.以上说法都不对

参考答案:

B

[单项选择题]

6、在EJB3.0中用来保存一个对象的方法是()

A.save

B.update

C.persist

D.create

参考答案:

C

[单项选择题]

7、在J2EE中,EJB组件必须在()容器中才能运行

A.Applet

B.客户端

C.Web

D.EJB

参考答案:

D

[单项选择题]

8、以下程序的打印结果是()

A.运行出错,抛出异常

B.打印false

C.打印true

D.编译出错

参考答案:

C

[单项选择题]

9、对于以下程序,Customer对象在第()行变为游离状态

A.line1

B.line2

C.line3

D.line4

参考答案:

D

[单项选择题]

10、假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现()

A.编译出错

B.编译通过,正常运行,不显示任何信息

C.编译通过,正常运行,并显示出结果

D.编译通过,但运行时抛出异常

参考答案:

D

[单项选择题]

11、ORM的好处包括()

A.能进行关系对象的映射

B.具有控制器功能

C.能在服务器端保存客户端状态

D.向DTO一项能传递数据

参考答案:

A

[单项选择题]

12、如果不确定所寻找对象的持久化标识符,则需要使用查询,使用Session的()方法

A.createQuery()

B.query()

C.queryAll()

D.queryObject()

参考答案:

A

[单项选择题]

13、对原生SQL查询的控制是通过()接口进行的

A.SQLQuery

B.Session

C.List

D.Query

参考答案:

A

[单项选择题]

14、使用Hibernate的QBC查询,要使用SQL中的类似selectcount(*)fromtablename方法求出记录数,必须使用()类

A.Restrictions

B.Projections

C.Criteria

D.Criteron

参考答案:

B

[单项选择题]

15、下面的程序执行后没有报错,但数据总保存不到数据库,最可能的原因是()

A.配置文件配置有误

B.没有在配置文件中包含对映射文件的声明

C.没有对持久化操作捕捉异常

D.没有开启事务

参考答案:

D

[单项选择题]

16、在Hibernate关系映射配置中,inverse属性的含义是()。

A.定义在<one-to-many>节点上,声明要负责关联的维护

B.声明在<set>节点上,声明要对方负责关联的维护

C.定义在<one-to-many>节点上,声明对方要负责关联的维护

D.声明在<set>节点上,声明要负责关联的维护

参考答案:

B

[单项选择题]

17、以下哪一种检索策略利用了外连结查询()

A.立即检索

B.延迟检索

C.迫切左外连结检索

D.迫切右外连结检索

参考答案:

C

[单项选择题]

18、实现equals和hashCode最显而易见的作用是()

A.比较两个对象标识符的值

B.比较数据库的两条数据

C.比较两个组建是否部署在同一个应用服务器上

D.对象与字段的映射

参考答案:

A

[单项选择题]

19、()元素把子对象的一些元素与父类对应的表的一些字段映射起来

A.Component

B.Element

C.Attribute

D.ActionForm

参考答案:

A

[单项选择题]

20、假设实体映射时有一个()的关联指向另外一个实体,在查询时必须也返回那个实体,否则会导致发生一个”columnnotfound”的数据库错误

A.many-to-one

B.many-to-many

C.one-to-many

D.one-to-one

参考答案:

D

[多项选择题]

21、从持久化状态到临时状态转换的方法有()

A.evict()

B.clear()

C.close()

D.lock()

参考答案:

A,B,C

更多内容请访问《睦霖题库》微信公众号

[多项选择题]

22、什么是Hibernate一级缓存()

A.Hibernate一级缓存是Session的缓存

B.Hibernate一级缓存是SessionFactory的缓存

C.第一级缓存为必需,不允许且事实上也无法被卸除

D.第一级缓存可以设置

参考答案:

A,C

[多项选择题]

23、在Hibernate中,以下关于主键生成器说法错误的是()。

A.increment可以用于类型为long、short或byte的主键

B.identity用于如SQLServer、DB2、MySQL等支持标识列的数据库

C.sequence用于如Oracle、SQLServer等支持序列的数据库

D.native由Hibernate根据底层数据库自行判断采用何种主键生成策略,是由使用的数据库生成主键的值

参考答案:

A,C

[多项选择题]

24、使用HQL查询所有部门信息,以下正确的是()。

A.fromDept

B.select*fromcn.jbit.demo.entity.Dept

C.selectDeptfromcn.jbit.demo.entity.Deptd

D.selectdfromDeptd

参考答案:

A,D

[多项选择题]

25、在HQL中,关于Query接口绑定参数的方法,说法正确的是()。

A.setParameter()方法用于绑定任意类型的参数

B.setParameter()有重载的方法

C.setProperties()有重载的方法

D.setProperties()方法用于绑定命名参数

参考答案:

A,B,C,D

[多项选择题]

26、在Hibernate映射文件中,关于inverse属性说法正确的是()。

A.inverse属性有两个值:

true、false

B.<many-to-one>标签有inverse属性

C.<set>标签有inverse属性

D.inverse属性用于指定维护关联关系的那一方

参考答案:

A,C,D

[多项选择题]

27、在Hibernate映射文件中,关于标签说法正确的是()。

A.<component>标签用来映射组件类

B.<component>标签通过<parent>指定组件类所属的整体类

C.<component>标签通过<property>指定组件类的属性

D.<component>标签有id、name、class属性

参考答案:

A,B,C

[多项选择题]

28、在MyBatis中,ExecutorType的值包括()。

A.ExecutorType.SIMPLE

B.ExecutorType.BATCH

C.ExecutorType.EXECUTE

D.ExecutorType.REUSE

参考答案:

A,B,D

[多项选择题]

29、关于Hibernate批量处理数据说法正确的是()。

A.使用HQL进行批量操作,Hibernate不支持批量插入

B.使用JDBCAPI进行批量操作,SQL语句中涉及的数据会被加载到Session缓存,占用内存空间

C.使用Session进行批量操作,数据会被加载到Session缓存,需注意刷新并清空缓存

D.使用Session进行批量操作,适用于需要通过代码处理的复杂的业务逻辑场景

参考答案:

C,D

[单项选择题]

30、关于HQL子查询中,说法错误的是()。

A.size()或size用于获取集合中元素的数目

B.elements()用于获取集合中的所有元素

C.any关键字用于子查询语句返回所有记录

D.in关键字与“=any”意思相同

参考答案:

C

[多项选择题]

31、在Hibernate中,关于映射Oracle中的BLOB和CLOB类型的方法,说法正确的是()。

A.CLOB类型只能映射为java.lang.String

B.BLOB类型可以映射为java.sql.Blob

C.BLOB类型可以映射为byte[]

D.CLOB类型可以映射为java.lang.String或java.sql.Clob

参考答案:

B,C,D

[多项选择题]

32、在Hibernate中,关于注解说法正确的是()。

A.@Id用于声明持久化类的唯一标识,对应于数据表中的主键

B.@Cloumn用于将属性映射到列

C.@Transient用于忽略该属性,需要持久化到数据库

D.@GeneratedValue用于定义主键值的生成策略

参考答案:

A,B,D

[单项选择题]

33、评估CREATETABLE语句:

下列关于prod_id_pk选项正确的是()。

A.可以被创建,但需要唯一索引用手工创建

B.可以被创建并且会自动创建唯一索引

C.可以被创建并且会自动创建非唯一索引

D.可以被创建但不可以使用,因为没有指定索引

参考答案:

B

[单项选择题]

34、A_oe和A_hr是数据库中的2个用户,A_oe下有一个表Orders,执行下列语句如下:

执行上面语句后结果正确的是()。

A.A_hr能够查询A_oe.orders表

B.A_hr不能够查询A_oe.orders表

C.REVOKE语句将撤销A_hr的SELECT权限同时也从r1角色撤销SELECT权限

D.REVOKE语句将报错,因为SELECT权限已经被r1角色授予

参考答案:

A

[填空题]

35请简述Hibernate与jdbc的联系。

参考答案:

Hibernate是jdbc的轻量级封装,包括jdbc的与数据库的连接(用hibernate的配置文件实现,本质是封装了jdbc),和查询,删除等代码,都用面向对象的思想用代码联系起来,Hibernate通过hbm配置文件(或注解)把持久化类的字段和数据库的字段关联起来比如数据库的id。

HQL语句也是面向对象的,它的查询语句不是查询数据库而是查询类的。

[填空题]

36请简述Hibernate是如何实现分页的?

如果不使用Hibernate提供的方法实现分页功能,则采用什么方式分页?

参考答案:

[填空题]

37试述load()和get()的区别。

参考答案:

1.从返回结果上对比:

L.oad方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null

2.从检索执行机制上对比:

 get方法和find方法都是直接从数据库中检索 而load方法的执行则比较复杂首先查找session的persistent Context中是否有缓存,如果有则直接返回 如果没有则判断是否是lazy,如果不是直接访问数据库检索,查到记录返回,查不到抛出异常 如果是lazy则需要建立代理对象,对象的initialized属性为false,target属性为null 在访问获得的代理对象的属性时,检索数据库,如果找到记录则把该记录的对象复制到代理对象的target上,并将initialized=true,如果找不到就抛出异常。

H.ibernate对于 load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;而对于get方法,hibernate一定要获取到真实的数据,否则返回null。

[多项选择题]

38、在持久化层,对象分为哪些状态?

()

A.临时状态

B.独立状态

C.游离状态

D.持久化状态

参考答案:

A,C,D

[单项选择题]

39、假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现什么情况?

()

A.编译出错

B.编译通过,并正常运行

C.编译通过,但运行时抛出异常

参考答案:

C

[多项选择题]

40、以下关于SessionFactory的说法哪些正确?

()

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

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

C.SessionFactory是重量级的对象,不应该随意创建。

如果系统中只有一个数据库存储源,只需要创建一个。

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

参考答案:

B,C

[单项选择题]

41、<set>元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?

()

A.none

B.save

C.delete

D.save-update

参考答案:

D

[填空题]

42如何优化Hibernate查询性能?

参考答案:

1 )lazy=true,hibernate3开始已经默认是lazy=true了;lazy=true时不会立刻查询关联对象,只有当需要关联对象(访问其属性,非id字段)时才会发生查询动作。

2)二级缓存,在对象更新,删除,添加相对于查询要少得多时,二级缓存的应用将不怕n +1问题,因为即使第一次查询很慢,之后直接缓存命中也是很快的。

[单项选择题]

43、下面关于hibernate核心接口说明错误的是()

A.Configuration 接口:

配置Hibernate,根据其启动hibernate,创建SessionFactory对象;

B.SessionFactory 接口:

负责保存、更新、删除、加载和查询对象,是线程不安全的,避免多个线程共享同一个session,是轻量级、一级缓存;

C.Query和Criteria接口:

执行数据库的查询;

D.Transaction接口:

管理事务。

参考答案:

B

[单项选择题]

44、下面是某系统中的两个实体类,依次可以得知()

A.Wage和WageItem间存在单向一对多的关联

B.Wage和WageItem间存在单向多对一的关联

C.Wage和WageItem间存在双向一对多的关联

D.Wage和WageItem间存在双向多对一的关联

参考答案:

B

[单项选择题]

45、下面()不属于关系-对象映射的映射信息。

A.程序包名到数据库库名的映射

B.程序类名到数据库表名的映射

C.实体属性名到数据库表字段的映射

D.实体属性类型到数据库表字段类型的映射

参考答案:

A

[填空题]

46Hibernate继承映射有哪几种方式?

试对几种方式进行比较。

参考答案:

[填空题]

47在持久化层,对象分为哪些状态?

如何转换?

参考答案:

[填空题]

48试述Query接口list( )与iterate( )区别。

参考答案:

[多项选择题]

49、下面关于ORM的说法错误的是()

A.对象关系映射,让现实中的对象同数据库的表产生映射

B.对象关系映射,让类同表产生关系

C.对象关系映射,让类同记录产生关系

D.对象关系映射,让类中的属性同表中的列产生关系

参考答案:

A,C

[单项选择题]

50、在Hibernate中,以下()不属于session的方法

A.close()

B.open()

C.update()

D.delete()

参考答案:

B

[多项选择题]

51、下面关于Hibernate中Transaction的使用说法正确的是()

A.Transaction是可有可无的

B.Transaction在做查询的时候是可有可无的

C.Transaction在做修改的时候是可有可无的

D.Transaction在做修改的时候是必须的

参考答案:

B,D

[多项选择题]

52、关于Hibernate中show_sql配置说法正确的是()

A.默认值为true

B.默认值为false

C.为true时表示在后台打印出SQL语句

D.为false表示在后台打印出SQL语句

参考答案:

B,C

[单项选择题]

53、从SessionFactory中得到Session的方法是()

A.getSession

B.openSession

C.currentSession

D.以上都不是

参考答案:

B

[多项选择题]

54、下列关于延迟加载说法正确的是()

A.lazy="true"表示采用延迟加载

B.lazy="false"表示采用延迟加载

C.Lazy默认情况下位true

D.Lazy默认情况下位false

参考答案:

A,C

[单项选择题]

55、Hibernate对JDBC访问数据库的代码做了封装,从而大大简化了数据访问的重复性代码,它是针对三层架构中()的解决方案

A.表现层

B.业务逻辑层

C.持久化层

D.数据库系统

参考答案:

C

[单项选择题]

56、Hibernate配置文件中,不包含下面的()。

A.“对象-关系映射”信息

B.实体间关联的配置

C.show_sql等参数的配置

D.数据库连接信息

参考答案:

B

[多项选择题]

57、下面一对多关联的配置中,存在哪些错误()

A.inverse属性不可以设置为false

B.cascade属性不可设置为true

C.class="com.x.entity.Order"应为type="com.x.entity.Order"

D.column属性不可再<one-to-many>节点内设置

参考答案:

B,D

[多项选择题]

58、Hibernate对象从瞬时(即临时状态)到持久状态转换的方式有()

A.调用session的save方法

B.调用session的create方法

C.调用session的update方法

D.调用session的load方法

参考答案:

A,C

[多项选择题]

59、SessionBean分为以下哪几种类型()

A.持久

B.瞬时

C.有状态

D.无状态

参考答案:

C,D

[单项选择题]

60、无状态SessionBean有几种状态()

A.1种

B.2种

C.3种

D.4种

参考答案:

B

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1