框架阶段测试卷
选择题(共50题,每题2分,满分100分)
1.选出不是Restrictions方法的选项(D )。
A.eq()
B.gt()
C.like()
D.isNULL()
2.已知系统中TBL_USER 表对应的实体类是TblUser,下列HQL 语句中正确的是
(D )。
A.from Tbl_User
B.select * from tbluser
C.select TblUser from TblUser
D.from TblUser t where t.uname = "15"
3.阅读下面的代码,要输出查询结果中第一条记录的用户名,正确的代码是(AD )。
String hql = "select u.uname, u.upass from TblUser u";
Query query = session.createQuery(hql);
A.Object[] arr = (Object[])query.list().iterator().next();
System.out.println(arr[0]);
B.TblUser user = (TblUser)query.list().get(0);
System.out.println(user.getUname());
C.String uname = (String)query.list().get(0).get(0);
System.out.println(uname);
D.String uname = (String)query.list().get(0)[0];
System.out.println(uname);
4.对下面代码中存在的错误,说法不正确的是( D)。
String hql = "from TblUser u where u.status = @status ";//<1>
Query query = session.createQuery();//<2>
query.setNamedParameter(":status","");//<3>
return query.executeQuery(hql);//<4>
A.第一行中的命名参数“@status”应该是“:status”
B.第二行createQuery 函数应该传入hql 作为参数
C.第三行命名参数名称“:status”应该是“status”
D.第四行应该是“return query.list(hql);”
5.下面代码的执行效果是(C )。
String hql = "from TblStudent s order by s.score asc";
Query query = session.createQuery(hql);
query.setFirstResult(0);
query.setMaxResults(5);
return query.list();
A.返回分数最高的五个学生
B.返回分数最高的六个学生
C.返回分数最低的五个学生
D.返回分数最低的六个学生
6.下面HQL语句的含义是(D )。
select stu
from TblStudent stu
where stu.score > ( select avg(score) from TblStudent )
A.查询所有学生的平均分
B.查询得分大于平均分的学生的成绩
C.查询得分最高的学生
D.查询得分大于平均分的学生
7.以下(CD )利用了外联结查询。
A.立即加载
B.延迟加载
C.迫切左外联结查询
D.迫切右外联接查询
8.以下程序的打印结果是(C )。
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);
session.close();
A.运行出错,抛出异常
B.打印false
C.打印true
D.无输出
9.使用Session 获取命名查询的方法是( A)。
A.getNamedQuery()
B.getnamedQuery()
C.getNameQuery()
D.getNamedSQLQuery()
10.在映射文件中配置命名查询元素的是(A )。
A.
B.
C.
D.
11.下面不属于持久化的是( A)。
A.把对象转换为字符串的形式通过网络传输,在另一端接收到这个字符串后能把
对象还原出来
B.把程序数据从数据库