column="customer_id"/>
A.inverse属性不可以设置为false
B.cascade属性不可设置为true
C.class="com.x.entity.Order"应为type="com.x.entity.Order"
D.column属性不可再节点内设置
8.执行下面的hql查询,关于返回值的说法,正确的是(B)。
selectu.username,u.userid
fromcom.x.entity.Useru
whereuisnotnull
A.语法错误,不能执行
B.返回一个类型为List的实例
C.返回一个数组
D.当返回结果只有一条时,返回一个数组
9.下面创建Criteria对象的语句中正确的是(D)。
A.Criteriac=query.createCriteria();
B.Criteriac=query.addCriteria();
C.Criteriac=session.createCriteria();
D.Criteriac=session.createCriteria(User.class);
10.一般情况下,关系数据模型与对象模型之间有哪些匹配关系(ACD多选)
A.表对应类
B.记录对应对象
C.表的字段对应类的属性
D.表之间的参考关系对应类之间的依赖关系
11.以下关于SessionFactory的说法哪些正确?
BC
A.对于每个数据库事务,应该创建一个SessionFactory对象
B.一个SessionFactory对象对应一个数据库存储源。
C.SessionFactory是重量级的对象,不应该随意创建。
如果系统中只有一个数据库存储源,只需要创建一个。
D.SessionFactory的load()方法用于加载持久化对象
12.Customer类中有一个Set类型的orders属性,用来存放Order订单对象,在Customer.hbm.xml文件中,用哪个元素映射orders属性?
AB
A.
B.
C.
D.
13.元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?
(D)〔选择一项〕
A.none
B.save
C.delete
D.save-update
14.以下哪些属于Session的方法?
ABD
A.load()
B.save()
C.open()
D.saveOrUpdate()
15.创建序列时,若未指定Cycle选项,则当当前值大于MaxValue时将()〔选择一项〕
A.从MinValue重新开始循环
B.重复使用MaxValue值
C.执行出错
D.使用随机值
16.以下程序的打印结果是什么?
C
tx=session.beginTransaction();
Customerc1=(Customer)session.load(Customer.class,newLong
(1));
Customerc2=(Customer)session.load(Customer.class,newLong
(1));
System.out.println(c1==c2);
mit();
session.close();
A.运行出错,抛出异常
B.打印false
C.打印true
D.编译出错
17.以下程序代码对Customer的name属性修改了两次:
B
tx=session.beginTransaction();
Customercustomer=(Customer)session.load(Customer.class,
newLong
(1));
customer.setName(\"Jack\");
customer.setName(\"Mike\");
mit();
执行以上程序,Hibernate需要向数据库提交几条update语句?
(单选)
A.0
B.1
C.2
D.3
18.在持久化层,对象分为哪些状态?
(ACD多选)
A.瞬时(Transient)
B.新建(New)
C.脱管(DetacheD.
D.持久(Persistent)
19.对于以下程序,Customer对象在第几行变为持久化状态?
(B单选)
Customercustomer=newCustomer();
customer.setName(\"Tom\");
Sessionsession1=sessionFactory.openSession();
Transactiontx1=session1.beginTransaction();//line1
session1.save(customer);//line2
mit();//line3
session1.close();//line4
A.line1
B.line2
C.line3
D.line4
20.对于以下程序,Customer对象在第几行变为游离状态?
(D单选)
Customercustomer=newCustomer();
customer.setName(\"Tom\");
Sessionsession1=sessionFactory.openSession();
Transactiontx1=session1.beginTransaction();//line1
session1.save(customer);//line2
mit();//line3
session1.close();//line4
A.line1
B.line2
C.line3
D.line4
21.以下哪一种检索策略利用了外连结查询?
(C单选)
A.立即检索
B.延迟检索
C.迫切左外连结检索
D.迫切右外连结检索
22.假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现什么情况(D单选)
Sessionsession=sessionFactory.openSession();
tx=session.beginTransaction();
Customercustomer=(Customer)session.get(Customer.class,newLong
(1));
mit();
session.close();
IteratororderIterator=customer.getOrders().iterator();
A.编译出错
B.编译通过,正常运行,不显示任何信息
C.编译通过,正常运行,并显示出结果
D.编译通过,但运行时抛出异常
23.POJO是A
A.PlainOldJavaObject
B.ProgrammingObjectJavaObject
C.PageOldJavaObject
D.PlainObjectJavaOld
24.POJO的作用是AC
A.普通的Java对象映射数据库字段
B.数据访问
C.对象的赋值
D.保存客户端对象
25.实现equals和hashCode最显而易见的作用是A
A.比较两个对象标识符的值
B.比较数据库的两条数据
C.比较两个组建是否部署在同一个应用服务器上
D.对象与字段的映射
26.持久化状态前进行合法性检查,需要实现的接口是B
A.ActionListener
B.Lifecycle
C.HttpServletRequest
D.持久化状态合法检查不需要实现接口
27.在源代码中嵌入映射信息需要A
A.XDoclet
B.EJB
C.Hibernate
D.Spring
28.所有的Hibernate,除了了都支持空(null)语义。
A
A.Collection
B.Element
C.Entity
D.NodeList
29.下面不能生成映射文档无
A.XDoclet
B.Middlegen
C.AndroMDA建模工具
D.MyEclipse
30.元素把子对象的一些元素与父类对应的表的一些字段映射起来A
A.Component
B.Element
C.Attribute
D.ActionForm
31.要实现一个自定义类型,需要实现的接口是(AB)
A.org.hibernate.UserType
B.org.hibernate.CompositeUserType
C.org.hibernate.Session
D.org.hibernate.CompositeUserType.UserType
32.ORM是A
A.对象关系映射
B.对象实体映射
C.数据传输对象
D.数据访问对象
33.JDBC可以做哪三件事ABC
A.与数据库建立连接
B.通过JDBC-API向数据库发送SQL语句
C.通过JDBC-API执行SQL语句
D.进行实体关系的映射
34.ORM有什么好处A
A.能进行关系对象的映射
B.具有控制器功能
C.能在服务器端保存客户端状态
D.向DTO一项能传递数据
35.常见的实体域对象是AB
A.主动域对象(EJB.
B.JavaBean对象(也称为POJO,PlainOldJavaObject)
C.控制器对象
D.ActionForm
36.过程域对象在Hibernate中代表C
A.业务逻辑操作
B.应用层操作
C.数据库层操作
D.组件对象操作
37.常见的三层分别是ABC
A.应用层
B.业务逻辑层
C.数据访问层
D.通讯层
38.对象(实体的实例)对一个特定的Session来说,要么是一个____对象,要么是____对象AB
A.瞬时
B.持久化
C.控制器
D.数据传输对象
39.如果你已知某个实例的持久化标识,你可以使用Session的_____方法来获取它A
A.load()
B.loadAll()
C.getAllData()
D.init()
40.如果你不能确定你要寻找的对象的持久化标识符,那么你需要使用查询,使用Session的____方法A
A.createQuery()
B.query()
C.queryAll()
D.queryObject()
41.使用Session的____会把对象的状态从数据库中移除A
A.delete()
B.remove()
C.clear()
D.removeAll()
42.Hibernate通过____接口,____接口和Type层次体系来访问元数据。
AB
A.ClassMetadata
B.CollectionMetadata
C.Metadata
D.CollectionMeta
43.HQL不支持聚合函数有D
A.count(*)
B.avg(…)
C.count(…)
D.count(?
)
44.____和____子句都不支持算数表达式。
AB
A.groupby
B.orderby
C.computeby
D.insertby
45.除了____和____外,查询语句都是大小写不敏感得到。
AD
A.Java类
B.POJO类
C.映射文件
D.属性名称
46.fromCatascat,不仅仅返回____的实例,而且还返回____的实例AC
A.Cat
B.Cat父类
C.Cat子类
D.Cat实现接口
47.____代表升序,____代表降序AC
A.asc
B.ansi
C.desc
D.description
48.对原生SQL查询的控制是通过___接口进行的。
A
A.SQLQuery
B.Session
C.List
D.Query
49.____和____元素是用来连接关联以及将查询定义为预先初始化各个集合的。
A
A.
B.
C.
D.
50.一个命名查询可能会返回一个标量值,你必须使用___元素来指定字段的别名和Hibernate类型。
A.
B.
C.
D.
51.假设实体映射时有一个____的关联指向另外一个实体,在查询时必须也返回那个实体,否则会导致发生一个”columnnotfound”的数据库错误。
D
A.many-to-one
B.many-to-many
C.one-to-many
D.one-to-one
52.你可以把结果集映射的信息放在外部的____元素中,这样就可以在多个命名查询间,或者通过setResultSetMapping()API来访问。
A
A.
B.
C.
D.
53.使用Hibernate的QBC查询,要使用SQL中的类似selectcount(*)fromtablename方法求出记录数,必须使用哪一个类。
B
A.Restrictions
B.Projections
C.Criteria
D.Criteron
54.在Hibernate中,关于数据库的方言,下面哪个说法是正确的D
A.可以不写数据库方言
B.数据库方言没有作用,可以随便写
C.有通用的数据库方言可以使用
D.数据方言对应于每个数据库,主要用于产生SQL语句
55.下面不属于持久化的是A
A.把对象转换称字符串的形式通过网络传输,在另一端接收到这个字符串后能把对象还原出来
B.把程序数据从数据库中读出来
C.从XML配置文件中读取程序的配置信息
D.把程序数据保存为文件
56.下面不是Hibernate映射文件中包含的内容。
(AB选两项)
A.数据库连接信息
B.Hibernate属性参数
C.主键生成策略?
D.属性数据类型
57.下面的程序执行后没有报错,但数据总保存不到数据库,最可能的原因是E
publicstaticvoidimain(String[]args){
SessionFactorysf=newConfigration().configure().buildSessionFactory();
Sessionsession=sf.openSession();
Medalmedal=newMedal();
medal.setOwner(“totong”);
medal.setType(“Goldmedal”);
session.save(user);
session.close();
}
A.配置文件配置有误
B.没有在配置文件中包含对映射文件的声明
C.配置文件配置有误
D.没有对持久化操作捕捉异常
e)没有开启事务
58.下列属于多对一关系的是__D
A.书和作者
B.手机和生产厂家
C.用户和发布的出租信息
D.士兵和班长
59.已知wage.getItem().size()的值是1。
要想使执行session.update(wage)时自动执行session.update(wage.getItems().get(0)),必须配置D
A.