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()
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
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)保存客户端对象
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一项能传递数据
37、常见的三层分别是ABC
a)表示层
b)业务逻辑层
c)数据访问层
d)通讯层
38、对象(实体的实例)对一个特定的Session来说,要么是一个(A)对象,要么是(B)对象。
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()
43、HQL不支持聚合函数有D
a)count(*)
b)avg(…)
c)count(…)
d)count(?
)
44、(A)和(B)子句都不支持算术表达式。
a)groupby
b)orderby
c)computeby
d)insertby
46、fromCatascat,不仅仅返回(A)的实例,而且还返回(C)的实例。
a)Cat
b)Cat父类
c)Cat子类
d)Cat实现接口
47、(A)代表升序,(C)代表降序。
a)asc
b)ansi
c)desc
d)description
48、对原生SQL查询的控制是通过(A)接口进行的。
a)SQLQuery
b)Session
c)List
d)Query
51、假设实体映射时有一个(D)的关联指向另外一个实体,在查询时必须也返回那个实体,否则会导致发生一个”columnnotfound”的数据库错误。
a)many-to-one
b)many-to-many
c)one-to-many
d)one-to-one
54、在Hibernate中,关于数据库的方言,下面哪个说法是正确的(D)
a)可以不写数据库方言
b)数据库方言没有作用,可以随便写
c)有通用的数据库方言可以使用
d)数据方言对应于每个数据库,主要用于产生SQL语句
55、下面不属于持久化的是(A)
a)把对象转换称字符串的形式通过网络传输,在另一端接收到这个字符串后能把对象还原出来
b)把程序数据从数据库中读出来
c)从XML配置文件中读取程序的配置信息
d)把程序数据保存为文件
56、下面(AB)是Hibernate映射文件中包含的内容。
a)数据库连接信息
b)Hibernate属性参数
c)主键生成策略?
d)属性数据类型
57、下面的程序执行后没有报错,但数据总保存不到数据库,最可能的原因是(E)
publicstaticvoidmain(String[]args){
SessionFactorysf=newConfigration().configure().buildSessionFactory();
Sessionsession=sf.openSession();
Medalmedal=newMedal();
medal.setOwner(“totong”