文档库 最新最全的文档下载
当前位置:文档库 › Hibernate笔试题及答案01

Hibernate笔试题及答案01

Hibernate笔试题及答案01
Hibernate笔试题及答案01

内部测试试卷

理论知识考试(Hibernate)

注意:考试结束试卷必须交回,答案填写在答题卡上

针对以下题目请选择正确答案(每道题目有一个或多个正确的答案)。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有正确答案,则该题不得分,以下每题2分。

1) 在三层结构中,数据访问层承担的责任是()〔选一项〕

a) 定义实体类

b) 数据的增删改查操作

c) 业务逻辑的描述

d) 页面展示和控制转发

2) 下面关于数据持久化概念的描述,错误的是()〔选择一项〕

a) 保存在内存中数据的状态是瞬时状态

b) 持久状态的数据在关机后数据依然存在

c) 数据可以由持久状态转换为瞬时状态

d) 将数据转换为持久状态的机制称为数据持久化

状态:瞬时,持久,脱管

3) 下面关于Hibernate的说法,错误的是()〔选择一项〕

a) Hibernate是一个“对象-关系映射”的实现

b) Hibernate是一种数据持久化技术

c) Hibernate是JDBC的替代技术

d) 使用Hibernate可以简化持久化层的编码

4) Hibernate配置文件中,不包含下面的()〔选择二项〕

a) “对象-关系映射”信息

b) 实体间关联的配置

c) show_sql等参数的配置

d) 数据库连接信息

5) 在Hibernate关系映射配置中,inverse属性的含义是()。〔选择一项〕

a) 定义在节点上,声明要负责关联的维护

b) 声明在节点上,声明要对方负责关联的维护

c) 定义在节点上,声明对方要负责关联的维护

d) 声明在节点上,声明要负责关联的维护

6) 在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所

有订单数据,下面方法可行的是()。〔选择一项〕

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

b) 配置客户和订单关联的cascade属性为all

c) 设置多对一关联的inverse属性为true

d) 设置多对一关联的inverse属性为false

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

column="customer_id" />

a) inverse属性不可以设置为false

b) cascade属性不可设置为true

c) class="com.x.entity.Order"应为type="com.x.entity.Order"

d) column属性不可再节点内设置

8) 执行下面的hql查询,关于返回值的说法,正确的是()。

select https://www.wendangku.net/doc/615610759.html,ername,https://www.wendangku.net/doc/615610759.html,erid

from https://www.wendangku.net/doc/615610759.html,er u

where u is not null

a) 语法错误,不能执行

b) 返回一个类型为List的实例

c) 返回一个数组

d) 当返回结果只有一条时,返回一个数组

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

a) Criteria c = query.createCriteria();

b) Criteria c = query.addCriteria();

c) Criteria c = session.createCriteria();

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

10) 一般情况下,关系数据模型与对象模型之间有哪些匹配关系(多选)

a) 表对应类

b) 记录对应对象

c) 表的字段对应类的属性

d) 表之间的参考关系对应类之间的依赖关系

11) 以下关于SessionFactory的说法哪些正确?

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

b) 一个SessionFactory对象对应一个数据库存储源。

c) SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据

库存储源,只需要创建一个。

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

12) Customer类中有一个Set类型的orders属性,用来存放Order订单对象,在

Customer.hbm.xml文件中,用哪个元素映射orders属性?

a)

b)

c)

d)

13) 元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade

属性应该取什么值?()〔选择一项〕

a) none

b) save

c) delete

d) save-update

14) 以下哪些属于Session的方法?

a) load()

b) save()

c) open()

d) saveOrUpdate()

15) 创建序列时,若未指定Cycle选项,则当当前值大于MaxValue时将()〔选择一项〕

a) 从MinValue重新开始循环

b) 重复使用MaxValue 值

c) 执行出错

d) 使用随机值

16) 以下程序的打印结果是什么?

tx = session.beginTransaction();

Customer c1=(Customer)session.load(Customer.class,new Long(1));

Customer c2=(Customer)session.load(Customer.class,new Long(1));

System.out.println(c1==c2);

https://www.wendangku.net/doc/615610759.html,mit();

session.close();

a) 运行出错,抛出异常

b) 打印false

c) 打印true

d) 编译出错

17) 以下程序代码对Customer的name属性修改了两次:

tx = session.beginTransaction();

Customer customer=(Customer)session.load(Customer.class,

new Long(1));

customer.setName(\"Jack\");

customer.setName(\"Mike\");

https://www.wendangku.net/doc/615610759.html,mit();

执行以上程序,Hibernate需要向数据库提交几条update语句?(单选)

a) 0

b) 1

c) 2

d) 3

18) 在持久化层,对象分为哪些状态?(多选)

a) 瞬时(Transient)

b) 新建(New)

c) 脱管(Detached)

d) 持久(Persistent)

19) 对于以下程序,Customer对象在第几行变为持久化状态?(单选)

Customer customer=new Customer();

customer.setName(\"Tom\");

Session session1=sessionFactory.openSession();

Transaction tx1 = session1.beginTransaction(); //line1

session1.save(customer); //line2

https://www.wendangku.net/doc/615610759.html,mit(); //line3

session1.close(); //line4

a) line1

b) line2

c) line3

d) line4

20) 对于以下程序,Customer对象在第几行变为游离状态?(单选)

Customer customer=new Customer();

customer.setName(\"Tom\");

Session session1=sessionFactory.openSession();

Transaction tx1 = session1.beginTransaction(); //line1

session1.save(customer); //line2

https://www.wendangku.net/doc/615610759.html,mit(); //line3

session1.close(); //line4

a) line1

b) line2

c) line3

d) line4

21) 以下哪一种检索策略利用了外连结查询?(单选)

a) 立即检索

b) 延迟检索

c) 迫切左外连结检索

d) 迫切右外连结检索

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

什么情况(单选)

Session session=sessionFactory.openSession();

tx = session.beginTransaction();

Customer customer=(Customer)session.get(Customer.class,new Long(1));

https://www.wendangku.net/doc/615610759.html,mit();

session.close();

Iterator orderIterator=customer.getOrders().iterator();

a) 编译出错

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

c) 编译通过,正常运行,并显示出结果

d) 编译通过,但运行时抛出异常

23) POJO是

a) Plain Old Java Object

b) Programming Object Java Object

c) Page Old Java Object

d) Plain Object Java Old

24) POJO的作用是

a) 普通的Java对象映射数据库字段

b) 数据访问

c) 对象的赋值

d) 保存客户端对象

25) 实现equals和hashCode最显而易见的作用是

a) 比较两个对象标识符的值

b) 比较数据库的两条数据

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

d) 对象与字段的映射

26) 持久化状态前进行合法性检查,需要实现的接口是

a) ActionListener

b) Lifecycle

c) HttpServletRequest

d) 持久化状态合法检查不需要实现接口

27) 在源代码中嵌入映射信息需要

a) XDoclet

b) EJB

c) Hibernate

d) Spring

28) 所有的Hibernate,除了了都支持空(null)语义。

a) Collection

b) Element

c) Entity

d) NodeList

29) 下面不能生成映射文档

a) XDoclet

b) Middlegen

c) AndroMDA 建模工具

d) MyEclipse

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

a) Component

b) Element

c) Attribute

d) ActionForm

31) 要实现一个自定义类型,需要实现的接口是或

a) https://www.wendangku.net/doc/615610759.html,erType

b) https://www.wendangku.net/doc/615610759.html,positeUserType

c) org.hibernate.Session

d) https://www.wendangku.net/doc/615610759.html,erType

32) ORM是

a) 对象关系映射

b) 对象实体映射

c) 数据传输对象

d) 数据访问对象

33) JDBC可以做哪三件事

a) 与数据库建立连接

b) 通过JDBC-API向数据库发送SQL语句

c) 通过JDBC-API执行SQL语句

d) 进行实体关系的映射

34) ORM有什么好处

a) 能进行关系对象的映射

b) 具有控制器功能

c) 能在服务器端保存客户端状态

d) 向DTO一项能传递数据

35) 常见的实体域对象是

a) 主动域对象(EJB)

b) JavaBean对象(也称为POJO,Plain Old Java Object)

c) 控制器对象

d) ActionForm

36) 过程域对象在Hibernate中代表

a) 业务逻辑操作

b) 应用层操作

c) 数据库层操作

d) 组件对象操作

37) 常见的三层分别是

a) 应用层

b) 业务逻辑层

c) 数据访问层

d) 通讯层

38) 对象(实体的实例)对一个特定的Session来说,要么是一个____对象,要么是____

对象

a) 瞬时

b) 持久化

c) 控制器

d) 数据传输对象

39) 如果你已知某个实例的持久化标识,你可以使用Session的______方法来获取它

a) load()

b) loadAll()

c) getAllData()

d) init()

40) 如果你不能确定你要寻找的对象的持久化标识符,那么你需要使用查询,使用Session

的____方法

a) createQuery()

b) query()

c) queryAll()

d) queryObject()

41) 使用Session的____会把对象的状态从数据库中移除

a) delete()

b) remove()

c) clear()

d) removeAll()

42) Hibernate通过____接口,____接口和Type层次体系来访问元数据。

a) ClassMetadata

b) CollectionMetadata

c) Metadata

d) CollectionMeta

43) HQL不支持聚合函数有

a) count(*)

b) avg(…)

c) count(…)

d) count(?)

44) ____和____子句都不支持算数表达式。

a) group by

b) order by

c) compute by

d) insert by

45) 除了____和____外,查询语句都是大小写不敏感得到。

a) Java类

b) POJO类

c) 映射文件

d) 属性名称

46) from Cat as cat,不仅仅返回____的实例,而且还返回____的实例

a) Cat

b) Cat父类

c) Cat子类

d) Cat实现接口

47) ____代表升序,____代表降序

a) asc

b) ansi

c) desc

d) description

48) 对原生SQL查询的控制是通过____接口进行的。

a) SQLQuery

b) Session

c) List

d) Query

49) 命名SQL查询中____和____元素是用来连接关联以及将查询定义为预先初始化各个

集合的。

a)

b)

c)

d)

50) 一个命名查询可能会返回一个标量值,你必须使用____元素来指定字段的别名和

Hibernate类型。

a)

b)

c)

d)

51) 假设实体映射时有一个____的关联指向另外一个实体,在查询时必须也返回那个实

体,否则会导致发生一个”column not found”的数据库错误。

a) many-to-one

b) many-to-many

c) one-to-many

d) one-to-one

52) 你可以把结果集映射的信息放在外部的____元素中,这样就可以在多个命名查询间,

或者通过setResultSetMapping()API来访问。

a)

b)

c)

d)

53) 使用Hibernate的QBC查询,要使用SQL中的类似select count(*) from tablename

方法求出记录数,必须使用哪一个类。

a) Restrictions

b) Projections

c) Criteria

d) Criteron

54) 在Hibernate中,关于数据库的方言,下面哪个说法是正确的

a) 可以不写数据库方言

b) 数据库方言没有作用,可以随便写

c) 有通用的数据库方言可以使用

d) 数据方言对应于每个数据库,主要用于产生SQL语句

55) 下面不属于持久化的是

a) 把对象转换称字符串的形式通过网络传输,在另一端接收到这个字符串后能把

对象还原出来

b) 把程序数据从数据库中读出来

c) 从XML配置文件中读取程序的配置信息

d) 把程序数据保存为文件

56) 下面不是Hibernate映射文件中包含的内容。(选两项)

a) 数据库连接信息

b) Hibernate属性参数

c) 主键生成策略·

d) 属性数据类型

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

public static void imain(String[] args){

SessionFactory sf=new Configration().configure().buildSessionFactory();

Session session=sf.openSession();

Medal medal=new Medal();

medal.setOwner(“totong”);

medal.setType(“Gold medal”);

session.save(user);

session.close();

}

a) 配置文件配置有误

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

c) 配置文件配置有误

d) 没有对持久化操作捕捉异常

e) 没有开启事务

58) 下列属于多对一关系的是___

a) 书和作者

b) 手机和生产厂家

c) 用户和发布的出租信息

d) 士兵和班长

59) 已知wage.getItem().size()的值是1。要想使执行session.update(wage)时自动执行

session.update(wage.getItems().get(0)),必须配置

a)

b)

c)

d)

60) 已知系统中的tbl_user表对应的实体类是User,下列HQL语句中正确的是(选两项)

a) from User

b) select * from tbluser

c) select User from User

d) from User u where u.uname=”15”

hibernate面试题

1.Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory 为什么要用: 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 2.Hibernate是如何延迟加载? 1. Hibernate2延迟加载实现:a)实体对象b)集合(Collection) 2. Hibernate3 提供了属性的延迟加载功能 当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。 3.Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many、 4.说下Hibernate的缓存机制 1. 内部缓存存在Hibernate中又叫一级缓存,属于应用事物级缓存 2. 二级缓存: a) 应用及缓存 b) 分布式缓存 条件:数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、非关键数据 c) 第三方缓存的实现

Hibernate_测试题

medal.setType("Gold Medal"); session.save(user); session.close(); } A.配置文件配置有误 B.没有在配置文件中包含对映射文件的声明 C.映射文件配置有误 D.没有开启事务 5.下列属于多对一关系的是(bd )。(选两项) A.书和作者 B.手机和生产厂家 C.用户和发布的出租信息 D.士兵和班长 6.下面是某系统中的两个实体类,依此可以得知(b )。 public class Wage{ //月工资实体类 private Long wid; private String empName; //雇员姓名 private String month; //月份 //Getter & Setter …… } public class WageItem{ //工资项 private Wage wage; private Long iid; private String itemName; //项目名称,如基本工资、职位津贴等private String amount; //数额 //Getter & Setter …… } A.Wage 和WageItem 间存在单向一对多的关联 B.Wage 和WageItem 间存在单向多对一的关联 C.Wage 和WageItem间存在双向一对多的关联 D.Wage 和WageItem间存在双向多对一的关联 7.两实体类代码如下: public class Wage{ //月工资实体类 private Long wid; private String empName; //雇员姓名 private String month; //月份 //Getter & Setter …… } public class WageItem{ //工资项 private Wage wage;

最新Hibernate考试试卷

Hibernate考试试题(题库) 1、在Hibernate中,下列说法正确的有()。【选三项】 A.Hibernate是一个开放源代码的对象关系映射框架 B.Hibernate对JDBC进行了轻量级的对象封装 C.Hibernate可以大大减少操作数据库的工作量 D.Hibernate提供了数据查询机制,但没有提供恢复机制 2、关于Hibernate,下列说法错误的是()。 A.Hibernate是一个对象-关系映射工具 B.在MVC模式中,Hibernate属于控制层 C.Hibernate在JDBC的方式上进行封装,以简化JDBC方式繁琐的编码工作 D.在Hibernate中,可以通过xml格式的配置文件保存对象-关系的映射信息 3、在Hibernate中,下列关于SessionFactory说法正确的有()。【选两项】 A.它是线程安全的 B.它不是线程安全的 C.它是轻量级的 D.一个SessionFactory实例对应一个数据存储源 4、在Hibernate中,下列关于Session说法正确的有()。【选三项】 A.它是线程安全的 B.它不是线程安全的 C.它是轻量级的 D.Session也被称为持久化管理器,它提供了和持久化相关的操作 5、在Hibernate中,下列关于Transaction说法正确的有()。【选三项】 A.事务Transaction为应用程序指定以原子操作单元为范围的对象 B.在对数据库进行增加、修改和删除操作时一定要加上Transaction C.在对数据库进行查询操作时一定要加上Transaction D.获得Transaction的方法:Transaction tr = session.beginTransaction(); 6、在Hibernate中,如果数据库是MySql或者SQLServer,则generator属性值不可 以使用()。 A.hilo B.native C.sequence D.indentity 7、在Hibernate中,如果数据库是Oracle或者DB2,则generator属性值不可以使用

Hibernate-D1 试题

**学院课程考试试卷课程名称:《Hibernate:使用Hibernate&EJB开发持久层企业及应用》(A)卷 年级:班级: 姓名:_______________ 学号:_________________ 考试(考查) 闭卷 题号1-20 21-40 41-50 总分 分数 选择题(每题2分,共计100分) 1. 一个持久化类的实例可能存在的状态有()。[选三项] A.瞬态 B.持久态 C.隔离态 D.游离态 2. 面向对象概念中的对象与面向关系概念中的()相对应。 A.表 B.表的行 C.表的列 D.表中行的数据 3. 下面说法正确的是()。[选三项] A.Hibernate是一个开放源代码的对象关系映射框架 B.Hibernate是对JDBC进行了轻量级的对象封装 C.Hibernate可以大大减少操作数据库的工作量 D.Hibernate提供了数据查询机制,但没有提供恢复机制 4. JDBC编程的缺点( acd)。[选三项] A.实现业务逻辑的代码和数据库访问代码掺杂在一起, 使程序结构不清晰,可读性差 B.在程序代码中嵌入面向关系的SQL语句,使开发人员 能完全运用面向对象的思维来编写程序 C.业务逻辑和关系数据模型绑定,如果关系数据模型发 生变化,例如修改了CUSTOMERS表的结构,那么必须手工修 改程序代码中所有相关的SQL语句,这增加了维护软件的难度 D.如果程序代码中的SQL语句包含语法错误,在编译时不 能检查这种错误,只有在运行时才能发现这种错误,这增加了 调试程序的难度

-------------------------------------- 装-------------------------------------- 订------------------------------线 ---------------------------------------- 5. Hibernate 映射文件中子元素用来设定标识符 生成器,下面哪些是Hibernate 提供的内置实现( ABD )。[选三项] A .hilo B .native C .assign D .indentity 6. 关于SessionFactory 说法不正确的是( )。[选两项]BC A .它是线程安全的 B .它不是线程安全的 C .它是轻量级的 D .一个SessionFactory 实例对应一个数据库 据存储源 7. 关于Session 说法正确的是( BCD )。[选三项] A .它是线程安全的 B .它不是线程安全的 C .它是轻量级的 D .Session 也被称为持久化管理器,它 提供了和持久化相关的操作 8. 关于Configuration 说法正确的是()。[选三项]ABD A .Configuration 类的构造方法把默认路径下的hibernate. cfg.xml(或hibernate.properties)配置文件中的配置信息读入 到内存 B .Configuration 对象用于配置且启动Hibernate C .获得Configuration 的方法:Configuration config = n ew Configuration();///··.config() D .Hibernate 应用通过Configuration 实例来指定对象-关系 映射文件的位置或者动态配置Hibernate 的属性 9. 关于Transaction 说法正确的是( )。[选三项]ABD A .事务Transaction 为应用程序指定以原子操作单元范围的对象 B .在做对数据库的增加、修改和删除时一定要加上Transaction C .在做对数据库的查询时一定要加上Transaction D .获得Transaction 的方法:Transaction tr = session.begin Transaction(); 10. 如果数据库是MySql 或者SQLServer ,generator 属性值不可以用下面

Hibernate考试试卷

Hibernate 考试试题 (题库) 1、 在 Hibernate 中,下 列 说法正确的有( )。【选三 项】 A . Hibernate 是一个开放源代码的对象关系映射框架 对 JDBC 进行了轻量级的对象封装 可以大大减少操作数据库的工作量 提供了数据查询机制,但没有提供恢复机 2、 关于 Hibernate ,下列 说法错误的是( )。 A . Hibernate 是一个对象 - 关系映射工具 B .在 MV C 模式中, Hibernate 属于控制层 C .Hibernate 在 JDBC 的方式上进行封装, 以简化 JDBC 方式繁琐的编码工作 D .在 Hibernate 中,可以通过 xml 格式的配置文件保存 对象 - 关系的映射信息 3、 在 Hibernate 中,下列 关于 SessionFactory 说法正 确的 有( )。【选两项】 A .它是线程安全的 B .它不是线程安全的 C .它是轻量级的 D .一个 SessionFactory 实例对应一个数据存储源 4、 在 Hibernate 中,下列 关于 Session 说法正确的 有 B . Hibernat e C . Hibernat e

Hibernate 考试试题(题库)()。【选三项】

A.它是线程安全的 B .它不是线程安全的 C.它是轻量级的 D .Session也被称为持久化管理器,它提供了和持久化相关的操作 5、在Hibernate 中,下列关于Transaction 说法正确的 有()。【选三项】 A .事务Transaction 为应用程序指定以原子操作单元为范围的对象 B .在对数据库进行增加、修改和删除操作时一定要加上Transaction C .在对数据库进行查询操作时一定要加上Transaction D .获得Transaction 的方法:Transaction tr = session.beginTransaction(); 6、在Hibernate 中,如果数据库是MySql 或者 SQLServer ,则generator 属性值不可以使用( )。 A. hilo B . native C. sequence D . indentity 7、在Hibernate 中,如果数据库是Oracle 或者DB2 , 则generator属性值不可以使用()。 A . hilo

Hibernate最新练习题

Hibernate练习题 1.一般情况下,关系数据模型与对象模型之间有哪些匹配关系(多选)ABC A)表对应类 B)记录对应对象 C)表的字段对应类的属性 D)表之间的参考关系对应类之间的依赖关系 2.试述load()和get()的区别。 1.从返回结果上对比: load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常 get方法检索不到的话会返回null 2.从检索执行机制上对比:get方法和find方法都是直接从数据库中检索而load方法的执行则比较复杂首先查找session的persistent Context中是否有缓存,如果有则直接返回如果没有则判断是否是lazy,如果不是直接访问数据库检索,查到记录返回,查不到抛出异常如果是lazy则需要建立代理对象,对象的initialized属性为false,target属性为null 在访问获得的代理对象的属性时,检索数据库,如果找到记录则把该记录的对象复制到代理对象的target上,并将initialized=true,如果找不到就抛出异常。 hibernate对于load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;而对于get方法,hibernate一定要获取到真实的数据,否则返回null。 3.简述使用Hibernate完成持3久化操作的3个准备和7个步骤。 1.创建Congfigure对象。读取并解析配置文件(相当于使用数据源(DataSource)获取连接前读取DataSource的配置文件):Configuration conf=new Configuration().configure(); 2.读取并解析映射信息,创建SessionFactory(相当于创建了数据源(DataSource)对象),它是产生Session 对象实例的工厂,它是唯一的。:SessionFactory sf=conf.buildSessionFactory(); 3.创建Session对象,打开session(相当于JDBC获得数据库的连接):Session session=sf.openSession(); 4.开始一个事务(增删改必须,查可选):tx=sessionl.beginTransaction(); 5.持久化操作:session.save(user); 6.结束事务:https://www.wendangku.net/doc/615610759.html,mit(); 7.关闭session,释放数据库的链接:session.close(); 三个准备如下:

Hibernate 考试题讲课稿

H i b e r n a t e考试题

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影射文件中级连操作的属性值至少写出三个(、、)。

jee考试题带答案

西北农林科技大学本科课程考试试题(卷) 2012—2013学年第1学期《J2EE技术》课程A卷专业班级:命题教师:审题教师: 学生姓名:学号:考试成绩: 本试卷由笔试和机试两部分组成。一到三题为笔试部分,第四题为机试部分 一、选择题(每题3分【按空分配分数】,共30分)得分:分 1. 相比于Spring,基于EJB的Java EE技术作为企业级应用解决方案的主要优势体现在(),使得开发出的应用是可向外伸缩的 (scale-out)。 A. 安全性 B. 运行的时空效率 C. 事务处理能力 D. 支持分布的能力 企业级的与普通javabean的区别是企业级的不仅可以供本地客户端访问,还可以供远程客户端访问。本质区别是访问者和被访问者是否位于同一台虚拟机上。 2.消息服务 (Message Service) 与方法调用 (Method Invocation)两者的最大区别就是:消息服务还可以实现()、()以及异构系统集成。 Java消息服务(JMS)是一个消息标准,它允许javaEE应用程序组件生成、发送、接收和读取消息。它能够进行分布式的、松耦合的、可靠地、异步的信息交流。 A. 异步 B. 业务调用 C. 松耦合 D. 消息传递 3. 关于无状态会话bean和有状态会话bean中“状态”说法正确的是()。 A. 有状态会话bean实例有对应的生命周期,而无状态会话bean则没有 B. 有状态会话bean可维持同一个客户端的多个调用之间的状态信息,无状态会话bean则不能 C. 有状态会话bean可以实现业务对象的持久化,无状态会话bean不能 D. 有状态会话bean可以维护HTTP客户端的状态,无状态会话bean不能 4.JPA实体之间的关系包括一对一、多对多、(对多一)和(一对多)共四种关联关系,以及( D )关系。 Java Persistence API java持久化,实体类表示对象,是对数据库中记录的表示 A. 一对多 B. 多对一 C. 继承 D. 映射 5. 判断访问EJB的方式是本地 (local) 访问还是远程 (remote) 访问取决于

Hibernate笔试题及答案01

内部测试试卷 理论知识考试(Hibernate) 注意:考试结束试卷必须交回,答案填写在答题卡上 针对以下题目请选择正确答案(每道题目有一个或多个正确的答案)。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有正确答案,则该题不得分,以下每题2分。 1) 在三层结构中,数据访问层承担的责任是()〔选一项〕 a) 定义实体类

b) 数据的增删改查操作 c) 业务逻辑的描述 d) 页面展示和控制转发 2) 下面关于数据持久化概念的描述,错误的是()〔选择一项〕 a) 保存在内存中数据的状态是瞬时状态 b) 持久状态的数据在关机后数据依然存在 c) 数据可以由持久状态转换为瞬时状态 d) 将数据转换为持久状态的机制称为数据持久化 状态:瞬时,持久,脱管 3) 下面关于Hibernate的说法,错误的是()〔选择一项〕 a) Hibernate是一个“对象-关系映射”的实现 b) Hibernate是一种数据持久化技术 c) Hibernate是JDBC的替代技术 d) 使用Hibernate可以简化持久化层的编码 4) Hibernate配置文件中,不包含下面的()〔选择二项〕 a) “对象-关系映射”信息 b) 实体间关联的配置 c) show_sql等参数的配置 d) 数据库连接信息 5) 在Hibernate关系映射配置中,inverse属性的含义是()。〔选择一项〕 a) 定义在节点上,声明要负责关联的维护 b) 声明在节点上,声明要对方负责关联的维护 c) 定义在节点上,声明对方要负责关联的维护 d) 声明在节点上,声明要负责关联的维护 6) 在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所 有订单数据,下面方法可行的是()。〔选择一项〕 a) 配置客户和订单关联的cascade属性为save-update b) 配置客户和订单关联的cascade属性为all c) 设置多对一关联的inverse属性为true d) 设置多对一关联的inverse属性为false

题库

考试题库 1、在Hibernate中,下列说法正确的有()。【选三项】 A.Hibernate是一个开放源代码的对象关系映射框架 B.Hibernate对JDBC进行了轻量级的对象封装 C.Hibernate可以大大减少操作数据库的工作量 D.Hibernate提供了数据查询机制,但没有提供恢复机制 2、关于Hibernate,下列说法错误的是()。 A.Hibernate是一个对象-关系映射工具 B.在MVC模式中,Hibernate属于控制层 C.Hibernate在JDBC的方式上进行封装,以简化JDBC方式繁琐的编码工作D.在Hibernate中,可以通过xml格式的配置文件保存对象-关系的映射信息 3、在Hibernate中,下列关于SessionFactory说法正确的有()。【选两项】A.它是线程安全的 B.它不是线程安全的 C.它是轻量级的 D.一个SessionFactory实例对应一个数据存储源 4、在Hibernate中,下列关于Session说法正确的有()。【选三项】 A.它是线程安全的 B.它不是线程安全的 C.它是轻量级的 D.Session也被称为持久化管理器,它提供了和持久化相关的操作 5、在Hibernate中,下列关于Transaction说法正确的有()。【选三项】A.事务Transaction为应用程序指定以原子操作单元为范围的对象 B.在对数据库进行增加、修改和删除操作时一定要加上Transaction

C.在对数据库进行查询操作时一定要加上Transaction D.获得Transaction的方法:Transaction tr = session.beginTransaction(); 6、在Hibernate中,如果数据库是MySql或者SQLServer,则generator属性值不可以使 用()。 A.hilo B.native C.sequence D.indentity 7、在Hibernate中,如果数据库是Oracle或者DB2,则generator属性值不可以使用()。A.hilo B.native C.sequence D.indentity 8、在Hibernate中,下列哪个选项不属于Session的方法()。 A.load B.save C.open D.delete 9、在Hibernate中, generator属性值如果是native,则表示()。 A.由Hibernate自动以自增的方式生成标识符,每次增量为1 B.由Hibernate自动以自增的方式生成标识符,每次增量为自定义 C.根据底层数据库对自动生成标识符的支持来选择。。。。。。。。。。。。。。。。 D.由Java应用程序负责生成标识符 10、Hibernate增加数据的时候,可以调用session的()方法。【选两项】A.save B.update

Spring考试试卷(有答案)

Spring考试试卷(题库) 1.下列关于AOP的说法错误的是()。 A.AOP将散落在系统中的“方面”代码集中实现 B.AOP有助于提高系统的可维护性 C.AOP已经表现出了将要替代面向对象的趋势 D.AOP是一种设计模式,Spring为其提供了一种实现 2.在SSH整合时,事务隔离级别是由()实现的。 A.Java应用程序 B.Hibernate C.数据库系统 D.JDBC驱动程序 3.下列()不是Spring的依赖注入方式。【选两项】 A.setter注入B.getter注入 C.接口注入 D.构造注入 4.在Spring框架中,面向方面编程(AOP)的目标在于()。 A.编写程序时不用关心其依赖组件的实现 B.将程序中涉及的公用问题集中解决 C.封装JDBC访训数据库的代码,简化数据访训层的得复性代码 D.实现画面的“无刷新” 5.关于Spring 与 Hibernate集成,下列说法错误的是()。 A.Spring提供了HibernateDaoSupport类来简化Hibernate的使用 B.在Spring配置文件中,可以通过Spring提供的LocalSessionFactoryBean来获得SessionFactory的实例 C.通过集成Spring和Hibernate,用Spring管理程序的依赖关系,将SessionFactory 注入到DataSource中 D.通过Spring,可以在Biz层代码中无需直接实例化DAO类,而是通过注入得到 6.在Spring中,下列关于依赖注入的说法,正确的是()。 A.依赖注入的目标是在代码之外管理程序组建间的依赖关系(组件?组建?) B.依赖注入即“面向接口”的编程 C.依赖注入是面向对象技术的替代品 D.依赖注入的使用会增大程序的规模 7.下列关于Spring的说法错误的是()。

Hibernate基础考试题

**学院课程考试试卷 课程名称:《Hibernate:使用Hibernate&EJB开发持久层企业及应用》(A)卷 年级:班级: 姓名:_______________ 学号:_________________ 考试(考查) 闭卷 选择题(每题2分,共计100分) 1.在三层结构中,数据访问层承担的责任是()。B A.定义实体类 B.数据的增删改查操作... C.业务逻辑的描述 D.页面展示和控制转发 2.下面关于Hibernate的说法,错误的是()。C A.Hibernate是一个“对象-关系映射”的实现 B.Hibernate是一种数据持久化技术 C.Hibernate是JDBC的替代技术… D.使用Hibernate可以简化持久化层的编码 3.Hibernate配置文件中,不包含下面的( AB )。[选两项] A.“对象-关系映射”信息… B.实体间关联的配置… C.show_sql等参数的配置 D.数据库连接信息 4.在Hibernate关系映射配置中,inverse=true属性的含义是 ( C )。 A.定义在节点上,声明要负责关联的维护 B.声明在节点上,声明要对方负责关联的维护… C.定义在节点上,声明对方要负责关联的维护 D.声明在节点上,声明要负责关联的维护 5.在使用了Hibernate的系统中,要想在删除某个客户数据的同时 删除该客户对应的所有订单数据,

6.下面方法可行的是( B )。 A.配置客户和订单关联的cascade属性为save-update B.配置客户和订单关联的cascade属性为all… C.设置多对一关联的inverse属性为true D.设置多对一关联的inverse属性为false 7.下面一对多关联的配置中,存在哪些错误,下列选项判断正确的 ()。[选两项]BC A.inverse属性不可以设置为false B.cascade属性不可设置为true;;; C.class="com.scce.pojo.Order"应为 type="com.scce.pojo.Order";;; D.column属性不可再节点内设置 执行下面的hql查询,关于返回值的说法,正确的是()。 select username,userid from Use query.list():list List select https://www.wendangku.net/doc/615610759.html,ername,https://www.wendangku.net/doc/615610759.html,erid from https://www.wendangku.net/doc/615610759.html,er u where u is not null A.语法错误,不能执行 B.返回一个类型为List的实例… C.返回一个数组 D.当返回结果只有一条时,返回一个数组 8.一般情况下,关系数据模型与对象模型之间有哪些匹配关系 ( ACD )。[选三项] A.表对应类… B.记录对应类//对象 C.表的字段对应类的属性;;;

Hibernate 考试题

Hibernat e 考试题 一.填空题: 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影射文件中级连操作的属性值至少写出三

JavaEE测试题带答案

1.在Java中的变量命名规范中,下面命名正确两项的是( ) (选择两项) a)¥money b)$int c)int d)*i 2.绘制流程图时,下面()代表判断和分支。(选择一项) a)矩形 b)椭圆 c)菱形 d)圆形 3.在Java环境中给出如下代码,编译运行的输出结果是()。 publicclassTest{ intx=1; inty=2; publicintcal(intx,inty){ intz=x+y; returnz; } publicstaticvoidmain(Stringargs[]){ Testd=newTest(); z=d.cal(d.x,d.y); System.out.println(z); } }(选择一项) A) 3 B) 0 C) 编译错误 D) 编译通过,但运行时出错 4.下列选项中关于枚举说法错误的是()。(选择一项) a)枚举类型是从JavaSE5.0开始引入的一种新类型 b)枚举类型使用关键字enum定义 c)枚举是指由一组固定的常量组成的类型 d)在枚举中,除了可以定义枚举常量以外不能出现其他成员 5.在Java中,以下关于多态说法错误的是()。(选择一项) a)实现多态的一个前提是要有继承关系 b)将一个父类的引用指向一个子类对象,要进行强制类型转换 c)父类引用变量指向其子类对象是实现多态的一个条件 d)使用多态可以提高代码的可扩展性和可维护性

6. 在Java中,如下代码段的输出结果为()。 Strings="hello"; s.substring(2,4); System.out.println(s.length());(选择一项) a) 5 b) 2 c) 4 d) 3 7. 在Java中,如下代码的输出结果是()。 publicstaticvoidmain(String[]args){ charc[]={'1','2','3','4'}; for(inti=0;i

hibernate练习题

1.下面创建Criteria对象的语句中正确的是 单选 A、Criteria c = query.createCriteria(); B、Criteria c = query.addCriteria(); C、Criteria c = session.createCriteria(); D、Criteria c = session.createCriteria(User.class); 2. Query对象执行查询结论正确的是 多选 A、list()方法返回结果为List对象,数据总量为0到多条 B、uniqueResut()方法返回结果为对象或对象数组,数据总量为0到1条数据 C、HQL:select userName from UserModel可以使用list()方法进行查询结果的获取 D、HQL:select userName from UserModel可以使用uniqueResut()方法进行查询结果的获取 3Hibernate实体对象制作规范不包含下列哪条规则 单选 A、声明无参公共的构造方法 B、提供用于作为OID的标识属性 C、为所有属性提供getter与setter方法 D、声明为最终类(final修饰) 4在HQL语句的参数查询中,执行以下代码,下列选项能够为参数正确赋值的操作是Query query = s.createQuery("from Customer o where https://www.wendangku.net/doc/615610759.html,=?"); 单选 A、query.setParameter(1, "Tom"); B、query.setParameter(0, "Tom"); C、query.setString(0,Tom); D、query.setInteger (0,Tom); 5有关Hibernate瞬时对象状态说法错误的是 多选 A、瞬时状态的对象具有OID,与Session对象关联 B、瞬时状态的对象具有OID,不与Session对象关联 C、瞬时状态的对象不具有OID,与Session对象关联 D、瞬时状态的对象不具有OID,不与Session对象关联 6有关QBC查询短语,下列说法正确的 多选 A、Restrictions.between表示范围比对 B、Restrictions.eq表示等比对 C、Restrictions.le表示小于等于比对 D、Restrictions.ge表示大于等于比对 7下列操作对一级缓存的影响描述错误的是

Hibernate 考试题

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影射文件中级连操作的属性值至少写出三

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影射文件中级连操作的属性值至少写出三个(、、)。

JavaEE练习题(附答案)

一、名词解释(共5小题每题3分,共15分) 1、MVC :Model、View和Controller,是一个设计模式,它强制性地使应用程序的输入、处理和输出分开,三个部分以最小的耦合协同工作,以增加程序的可扩展性和可维护性; 2、OGNL:Object Graphic Navigation Language(对象图导航语言),是一个开源项目,是一种功能强大的EL(表达式语言),可通过简单的表达式来访问Java对象中的属性; 3、持久化:即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘),是将程序数据在持久状态和瞬时状态间转换的机制; 4、ORM:对象关系映射,是用于将对象与对象之间的关系对应到数据库表与表之间关系的一种模式; 5、通知(Advice):定义了切面中的实现类型是指在定义好的切入点处所有执行的程序代码; 6、事务:是工作中的基本逻辑单位,可以用于确保数据库能够被正确修改,避免数据只修改了一部分而导致数据不完整,或者在修改时受到用户干扰; 7、POJO类:POJO(Plain Old Java Objects)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称,它通指没有使用Entity Beans的普通java对象,可以把POJO作为支持业务逻辑的协助类。 8、AOP:面向切面编程,可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术; 9、IoC:Inversion of Control(控制反转),是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,IoC的基本概念是不创建对象,但是描述创建它们的方式,在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起; 10、HQL:Hibernate Query Language的缩写,HQL的语法很像SQL,但HQL是一种面向对象的查询语言,操作的对象是类、实例、属性等。 二、填空(共10空,每空2分,共20分) 1、Spring从容器中获取bean对象可以分别通过(BeanFactory)接口和(ApplicationContext)接口来实现。 2、Struts2、Hibernate缺省的核心配置文件名分别为(struts.xml)和(hibernate.cfg.xml)。 3、OGNL上下文有一个bar对象,它不是根对象,bar有getvalue属性,则利用OGNL 表达式求bar对象的getvalue属性值为(#bar.value)。 4、使用Hibernate的七个步骤是:创建Configuration、创建SessionFactory、(开启一次会话)、(开启一个事务)、持久化操作、(提交事务)和(释放资源)。 5、在Hibernate项目中,如实体类为User,则对应的配置文件名为(User.hbm.xml)。 6、Struts2的action类定义时传值方式可以采取(字段传值)、(模型传值) 7、持久化对象的生命周期中对象的三种状态(瞬时态)(持久态)(脱管态) 8、hibernate事务并发处理可以通过加锁的机制实现(悲观锁)(乐观锁);

相关文档