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)…
b)…
c)