Hibernate考试试题(题库)1、在Hibernate中,下列说法正确的有()。【选三项】A.Hibernate是一个开放源代码的对象关系映射框架B.Hibernate对JDBC进行了轻量级的对象封装C.Hibernate可以大大减少操作数据库的工作量D.Hibernate提供了数据查询机制,但没有提供恢复机制2、关于Hibernate,下列说法错误的是()。A.Hibernate是一个对象-关系映射工具B.在MVC模式中,Hibernate属于控制层C.Hibernate在JDBC的方式上进行封装,以简化JDBC方式繁琐的编码工作D.在Hibernate中,可以通过xml格式的配置文件保存对象-关系的映射信息3、在Hibernate中,下列关于SessionFactory说法正确的有()。【选两项】A.它是线程安全的B.它不是线程安全的C.它是轻量级的D.一个SessionFactory实例对应一个数据存储源4、在Hibernate中,下列关于Session说法正确的有()。【选三项】A.它是线程安全的B.它不是线程安全的C.它是轻量级的D.Session也被称为持久化管理器,它提供了和持久化相关的操作5、在Hibernate中,下列关于Transaction说法正确的有()。【选三项】A.事务Transaction为应用程序指定以原子操作单元为范围的对象B.在对数据库进行增加、修改和删除操作时一定要加上TransactionC.在对数据库进行查询操作时一定要加上TransactionD.获得Transaction的方法:Transactiontr=session.beginTransaction();6、在Hibernate中,如果数据库是MySql或者SQLServer,则generator属性值不可以使用()。A.hiloB.nativeC.sequenceD.indentity7、在Hibernate中,如果数据库是Oracle或者DB2,则generator属性值不可以使用()。A.hiloB.nativeC.sequenceD.indentity8、在Hibernate中,下列哪个选项不属于Session的方法()。A.loadB.saveC.openD.delete9、在Hibernate中,generator属性值如果是native,则表示()。A.由Hibernate自动以自增的方式生成标识符,每次增量为1B.由Hibernate自动以自增的方式生成标识符,每次增量为自定义C.根据底层数据库对自动生成标识符的支持来选择。。。。。。。。。。。。。。。。D.由Java应用程序负责生成标识符10、Hibernate增加数据的时候,可以调用session的()方法。【选两项】A.saveB.updateC.addD.saveOrUpdate11、Hibernate对JDBC访问数据库的代码进行了封装,从而大大简化了数据访问层的重复性代码,它是针对三层架构中()的解决方案。A.表现层B.业务逻辑层C.持久化层D.数据库系统12、Hibernate是一个优秀的Java持久化层解决方案,那么数据的持久化指的是()。A.数据在程序退出后就不复存在B.数据在程序退出后以文件等形式保存在存储设备中C.数据的内容是不变的,处于静态中D.数据的内容是变化的13、下列选项不属于持久化的是()。A.将对象转换为字符串的形式通过网络传输,在另一端接收到该字符串后能将对象还原B.将程序数据从数据库中读取出来C.从XML配置文件中读取程序的配置信息D.将程序数据保存为文件14、使用Hibernate技术实现数据库持久化时,下列()不在Hibernate配置文件中。A.数据库连接信息B.数据库类型(dialect)C.show_sql参数D.数据库表和实体的映射信息15、在Hibernate中,inverse属性值为()时,会标识被控方。A.allB.falseC.trueD.none16、在Hibernate中,如果需要标识主控方,则inverse属性值应为()。A.allB.falseC.trueD.none17、在Hibernate中,从性能方面考虑,inverse属性值通常设置为()。A.allB.falseC.trueD.none18、Hibernate通过映射文件中的generator子元素来设定标识符生成器,下列选项哪些是Hibernate提供的内置实现()。【选三项】A.hiloB.nativeC.assignD.indentity19、三层结构是一种典型的应用软件分层结构,这三层分别是()。【选三项】A.表述层B.业务逻辑层C.控制层D.数据层20、持久化技术封装了数据访问的细节,为大部分业务逻辑提供了面向对象的API。数据持久化具有以下3个方面的特点,分别是()。【选三项】A.通过持久化技术能够减少访问数据库中数据的次数,提供应用程序速度(?????)B.提高代码的可重用性C.松耦合,使持久化的实现不依赖于底层数据库及上层业务逻辑D.具有更好的可扩展性21、在ORM中,面向对象概念中的对象与面向关系概念中的()相对应。A.表B.表的行C.表的列D.表中行的数据22、一般情况下,关系数据模型和对象模型之间有哪些匹配关系()。【选两项】A.表对应对象B.记录对应对象C.表的字段对应类方法D.表之间的参考关系对应类之间的依赖关系23、在Hibernate中,一个持久化类的实例可能存在的状态有哪些()。【选三项】A.瞬态B.持久态C.隔离态D.游离态24、在Hibernate的映射文件中,id节点的property元素的()表示指定类的属性映射的表的字段名。A.nameB.typeC.columnD.lazy25、在Hibernate的实体类映射文件中,class节点下必须有一个id节点,其中unsaved-value属性的默认值为()。A.nullB.noneC.tureD.false26、下列选项关于Configuration的说法不正确的是()。A.Configuration类的构造方法用于将默认路径下的hibernate.cfg.xml(或hibernate.properties)配置文件中的配置信息读入到内存中B.Configuration对象用于配置并启动HibernateC.获得Configuration的方法:Configurationconfig=newConfiguration();D.Hibernate应用通过Configuration实例指定对象-关系映射文件的位置或者动态配置Hibernate的属性27、在Hibernate中,当cascade属性值为()时,表示不进行级联操作。A.allB.noC.noneD.delete28、在Hibernate中,如果需要进行级联删除,则cascade属性值可为()。【选两项】A.allB.save-updateC.noneD.delete29、在Hibernate中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下列方法可行的有()。【选两项】A.配置客户和订单关联的cascade属性为save-updateB.配置客户和订单关联的cascade属性为allC.设置多对一关联的inverse属性为trueD.设置多对一关联的inverse属性为false30、在Hibernate中,set元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,则cascade属性应该取什么值()。A.noneB.saveC.save-updateD.delete31、在Hibernate中,Customer类中有一个Set类型的orders属性,用于存放Order订单对象,在Customer.hbm.xml文件中,可以用()元素映射orders属性。A.setB.one-to-manyC.many-to-oneD.property32、在Hibernate中,下列一对多关联的配置中,存在哪些错误()。【选两项】setname=ordersinverse=falsecascade=trueone-to-manyclass=com.scce.pojo.Ordercolumn=customer_id//setA.inverse属性不可以设置为falseB.cascade属性不可以设置为trueC.class=com.scce.pojo.Order应为type=com.scce.pojo.OrderD.column属性不可以在one-to-many节点内设置33、在Hibernate的HQL查询中,下列说法正确的是()。A.可以调用用户自定义函数B.不可以调用用户自定义函数C.支持子查询D.支持分页查询34、在Hibernate的HQL查询中,下列说法不正确的是()。A.在Hibernate3中,可以使用update、delete子句B.在Hibernate3中,不可以使用update、delete子句C.HQL是基于SQL的D.HQL提供了更多面向对象的封装35、在Hibernate的HQL查询中,setMaxResults(3)方法中参数值3指的是()。A.从第3条记录开始B.从第4条记录开始C.查询3条记录D.查询4条记录36、在Hibernate的HQL查询中,setFirstResults(3)方法中参数值3指的是()。A.从第3条记录开始B.从第4条记录开始C.查询3条记录D.查询4条记录37、下面代码的执行效果是()。Stringhql=fromTblStudentsorderbys.scoreasc;Queryquery=session.createQuery(hql);query.setFirstResult(0);query.setMaxResults(5);returnquery.list();A.返回分数最高的5个学生B.返回分数最高的6个学生C.返回分数最低的5个学生D.返回分数最低的6个学生38、在Hibernate的HQL查询中,下列说法不正确的是()。A.HQL子句本身的大小写没有差异,但类名和属性名必须区分大小写B.HQL支持where子句C.HQL支持as子句D.where、as关键字区分大小写39、在Hibernate的HQL查询中,有数据库表(dept)对应的对象名称为Dept,下列HQL写法正确的有()。【选两项】A.Stringhql=fromcom.hr.g3.persist.deptasmodel;B.Stringhql=fromcom.hr.g3.persist.Dept;C.Stringhql=fromDeptasmodel;D.Stringhql=fromdept;40、关于HQL查询,下列说法正确的有()。【选两项】A.HQL查询的select子句中必须区分大小写B.HQL支持不统计函数C.HQL支持仅查询对象的某几个属性,查询结果保存于Object数组中D.HQL查询为官方推荐的查询方式41、在Hibernate中,下面代码实现了对Book实体中title属性的模糊查询,则下列选项中说法正确的是()。Sessionsession=this.getSession();Stringhql=fromBookmodelwheremodel.titlelike?;//(1)Queryquery=session.createQuery(hql);//(2)query.setString(0,%java%);//(3)(中文分号)Listlist=query.list();//(4)A.第(1)行,Book与model之间必须有as关键字B.第(2)行,没有错误C.第(3)行应该为:query.setString(0,java);D.第(4)行应该为:Listllist=query.executeQuery();42、关于HQL与SQL,下列说法正确