框架阶段测试卷选择题(共50题,每题2分,满分100分)1.选出不是Restrictions方法的选项(D)。A.eq()B.gt()C.like()D.isNULL()2.已知系统中TBL_USER表对应的实体类是TblUser,下列HQL语句中正确的是(D)。A.fromTbl_UserB.select*fromtbluserC.selectTblUserfromTblUserD.fromTblUsertwheret.uname=153.阅读下面的代码,要输出查询结果中第一条记录的用户名,正确的代码是(AD)。Stringhql=selectu.uname,u.upassfromTblUseru;Queryquery=session.createQuery(hql);A.Object[]arr=(Object[])query.list().iterator().next();System.out.println(arr[0]);B.TblUseruser=(TblUser)query.list().get(0);System.out.println(user.getUname());C.Stringuname=(String)query.list().get(0).get(0);System.out.println(uname);D.Stringuname=(String)query.list().get(0)[0];System.out.println(uname);4.对下面代码中存在的错误,说法不正确的是(D)。Stringhql=fromTblUseruwhereu.status=@status;//1Queryquery=session.createQuery();//2query.setNamedParameter(:status,);//3returnquery.executeQuery(hql);//4A.第一行中的命名参数“@status”应该是“:status”B.第二行createQuery函数应该传入hql作为参数C.第三行命名参数名称“:status”应该是“status”D.第四行应该是“returnquery.list(hql);”5.下面代码的执行效果是(C)。Stringhql=fromTblStudentsorderbys.scoreasc;Queryquery=session.createQuery(hql);query.setFirstResult(0);query.setMaxResults(5);returnquery.list();A.返回分数最高的五个学生B.返回分数最高的六个学生C.返回分数最低的五个学生D.返回分数最低的六个学生6.下面HQL语句的含义是(D)。selectstufromTblStudentstuwherestu.score(selectavg(score)fromTblStudent)A.查询所有学生的平均分B.查询得分大于平均分的学生的成绩C.查询得分最高的学生D.查询得分大于平均分的学生7.以下(CD)利用了外联结查询。A.立即加载B.延迟加载C.迫切左外联结查询D.迫切右外联接查询8.以下程序的打印结果是(C)。Customerc1=(Customer)session.load(Customer.class,newLong(1));Customerc2=(Customer)session.load(Customer.class,newLong(1));System.out.println(c1==c2);session.close();A.运行出错,抛出异常B.打印falseC.打印trueD.无输出9.使用Session获取命名查询的方法是(A)。A.getNamedQuery()B.getnamedQuery()C.getNameQuery()D.getNamedSQLQuery()10.在映射文件中配置命名查询元素的是(A)。A.queryB.returnC.name-queryD.getnamedquery11.下面不属于持久化的是(A)。A.把对象转换为字符串的形式通过网络传输,在另一端接收到这个字符串后能把对象还原出来B.把程序数据从数据库中读出来C.从XML配置文件中读取程序的配置信息D.把程序数据保存为文件12.下面(A)不属于关系—对象映射的映射信息。A.程序包名到数据库库名的映射B.程序类名到数据库表名的映射C.实体属性名到数据库表字段的映射D.实体属性类型到数据库表字段类型的映射13.下面(CD)不是Hibernate映射文件中包含的内容。A.数据库连接信息B.Hibernate属性参数C.主键生成策略D.属性数据类型14.下面的程序执行后没有报错,但数据总保存不到数据库,最可能的原因是(D)。publicstaticvoidmain(String[]args){SessionFactorysf=newConfiguration().configure().buildSessionFactory();Sessionsession=sf.openSession();Medalmedal=newMedal();medal.setOwner(ShenBaozhi);medal.setSport(TableTennis-Women'sSingles);medal.setType(GoldMedal);session.save(user);session.close();}A.配置文件配置有误B.没有在配置文件中包含对映射文件的声明C.映射文件配置有误D.没有开启事务15.下列属于多对一关系的是(AD)。A.书和作者B.商品种类和商品C.用户和发布的出租信息D.士兵和班长16.下面是某系统中的两个实体类,依此可以得知(B)。publicclassWage{//月工资实体类privateLongwid;privateStringempName;//雇员姓名privateStringmonth;//月份//Getter&Setter……}publicclassWageItem{//工资项privateWagewage;privateLongiid;privateStringitemName;//项目名称,如基本工资、职位津贴等privateStringamount;//数额//Getter&Setter……}A.Wage和WageItem间存在单向一对多的关联B.WageItem和Wage间存在单向多对一的关联C.Wage和WageItem间存在双向一对多的关联D.Wage和WageItem间存在双向多对一的关联17.对第2题中的WageItem实体类有如下配置,其中空白处应填入的代码是(A)。classname=WageItemtable=fin_wage_itemidname=iidcolumn=wi_idtype=java.lang.Longgeneratorclass=native//idpropertyname=itemNamecolumn=wi_nametype=java.lang.String/propertyname=amountcolumn=wi_amounttype=java.lang.Double/!--配置wage属性--______________________/classA.many-to-onename=wagecolumn=wi_wage_idclass=Wage/B.one-to-manyname=wagecolumn=wi_wage_idclass=Wage/C.setname=wagekeycolumn=wi_wage_id/one-to-manyclass=Wage//setD.setname=wagekeycolumn=wi_wage_id/many-to-oneclass=Wage//set18.某系统中有如下代码片段,执行下面代码可能导致执行的SQL语句不包括(CD)。setname=itemsinverse=truekeycolumn=wi_wage_id/one-to-manyclass=WageItem//setWagewage=(Wage)session.get(Wage.class,1L);WageItemitem=(WageItem)session.get(WageItem.class,1L);wage.getItems().remove(item);session.update(wage);A.selectw0_.id,w0_.emp_name,w0_.monthfromfin_wagew0_wherew0_.id=?B.selecti0_.wi_id,i0_.wi_name,i0_.wi_amount,i0_.wi_wage_idfromfin_wage_itemi0_wherei0_.wi_id=?C.deletefromfin_wage_itemwherewi_id=?D.updatefin_wage_itemsetwi_wage_id=nullwherewi_id=?19、在hibernate中,Customer.hbm.xml文件如下:setname=ordersesinverse=truecascade=allkeycolumnname=Customer_Id//keyone-to-manyclass=entity.Orders//set关于cascade属性说法正确的是(B)A.此属性不需要设置B.不添加此属性,不能通过Customer对象进行级联操作C.默认支持所有级联操作D.默认只支持删除级联操作20、下面关于hibernate核心接口说明错误的是(B)A.Configuration接口:配置Hibernate,根据其启动hibernate,创建SessionFactory对象B.SessionFactory接口:负责保存、更新、删除、加载和查询对象,是线程不安全的,避免多个线程共享同一个session,是轻量级、一级缓存C.Query和Criteria接口:执行数据库的查询D.Transaction接口:管理事务21.以下属于struts2的控制器组件是:AA.ActionB.ActionFormC.ActionServletD.dispatchAction22.以下属于struts2的体系结构的是:(多选)ACA.struts2控制器组件B.struts2配置文件C.FilterDispathcerD.Action23.以下属于struts2配置文件中的配置元素是:(多选)ABA.packageB.actionC.form-beansD.action-mappings24.关于struts1和struts2对比的说法正确的是:DA.struts1要求Action类继承struts1框架中的Action父类,struts2中则不一定需要继承,可以是POJO类B.struts1中的Action不是线程安全的,而struts2中的Action是线程安全的C.struts1和struts2中都使用ActionForm对象封装用户的请求数据D.struts1使用OGNL表达式语言来支持页面效果,struts2通过ValueStack技术使标签库访问值25.以下关于ValueStack说法正确的是:(多选)ADA.每个Action对象实例拥有一个ValueStack对象B.每个Action对象实例拥有多个ValueStack对象C.Action中封装了需要传入下一个页面的值,这些值封装在ValueStack对象中D.ValueStack会在请求开始时被创建,请求结束时消亡26.关于struts