2024年Hibernate历年考试高频考点试题附带答案_第1页
2024年Hibernate历年考试高频考点试题附带答案_第2页
2024年Hibernate历年考试高频考点试题附带答案_第3页
2024年Hibernate历年考试高频考点试题附带答案_第4页
2024年Hibernate历年考试高频考点试题附带答案_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2024年Hibernate历年考试高频考点试题附带答案(图片大小可自由调整)第1卷一.参考题库(共25题)1.已知wage.getItem().size()的值是1。要想使执行session.update(wage)时自动执行session.update(wage.getItems().get(0)),必须配置()A、<set name=”items” inverse=”true” cascade=”none”>…</set>B、<set name=”items” inverse=”false” cascade=”none”>…</set>C、<set name=”items” inverse=”true” cascade=”all”>…</set>D、<set name=”items” inverse=”false”  cascade=”save-update”>…</set>2.AnonymousInnerClass(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?3.在Hibernate中,从性能方面考虑,inverse属性值通常设置为()。A、allB、falseC、trueD、none4.简述Hibernate中find和iterate的区别?5.请简述Hibernate与jdbc的联系。6.在Hibernate中,下列关于Session说法正确的有()A、它是线程安全的B、它不是线程安全的C、它是轻量级的D、Session也被称为持久化管理器,它提供了和持久化相关的操作7.从持久化状态到临时状态转换的方法有()A、evict()B、clear()C、close()D、lock()8.两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对?9.一般情况下,关系数据模型与对象模型之间有哪些匹配关系()A、表对应类B、记录对应对象C、表的字段对应类的属性D、表之间的参考关系对应类之间的依赖关系10.试述Query接口list()与iterate()区别。11.Hibernate缓存主要从哪些方面发生作用()A、通过主键值加载数据B、查询数据C、立即加载D、延迟加载12.下列选项不属于持久化的是()。A、将对象转换为字符串的形式通过网络传输,在另一端接收到该字符串后能将对象还原B、将程序数据从数据库中读取出来C、从XML配置文件中读取程序的配置信息D、将程序数据保存为文件13.<set>元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取()值A、noneB、saveC、deleteD、save-update14.在Hibernate的映射文件中,id节点的property元素的()表示指定类的属性映射的表的字段名。A、nameB、typeC、columnD、lazy15.下面创建Criteria对象的语句中正确的是()A、Criteria c = query.createCriteria();B、Criteria c = query.addCriteria();C、Criteria c = session.createCriteria();D、Criteria c = session.createCriteria(User.class);16.关于HQL查询,下列说法错误的是()。A、HQL查询可以执行T-SQL语句,执行速度更快B、HQL支持只查询对象的某几个属性,查询结果将保存在一个Object数组中C、HQL支持统计函数D、HQL语句可以实现类似PreparedStatement的效果17.下面关于Hibernate的说法,错误的是()A、Hibernate是一个“对象-关系映射”的实现B、Hibernate是一种数据持久化技术C、Hibernate是JDBC的替代技术D、使用Hibernate可以简化持久化层的编码18.什么是Hibernate一级缓存()A、Hibernate一级缓存是Session的缓存B、Hibernate一级缓存是SessionFactory的缓存C、第一级缓存为必需,不允许且事实上也无法被卸除D、第一级缓存可以设置19.有以下代码段,下面说法正确的是()A、第一行有错,必须为参数起个名字B、第三行有错误,query.setParameter(0, "2000-12-05")应为query.setParameter(1, "2000-12-05");C、第四行没有错误D、这些语句没有错误20.简述hql中加select和不加select的区别21.Hibernate增加数据时可以调用Session的()方法。A、  save()B、  update()C、  delete()D、  get()22.简述Hibernate的性能优化?23.J2EE中,包含有Web工程和EJB工程的项目,打包封装成()文件A、jarB、warC、earD、zip24.简述Hibernate的优点和缺点?25.在Hibernate中,下列关于Transaction说法正确的有()A、事务Transaction为应用程序指定以原子操作单元为范围的对象B、在对数据库进行增加、修改和删除操作时一定要加上TransactionC、在对数据库进行查询操作时一定要加上TransactionD、获得Transaction的方法:Transaction tr = session.beginTransaction();第2卷一.参考题库(共25题)1.在MyBatis中,ExecutorType的值包括()。A、ExecutorType.SIMPLEB、ExecutorType.BATCHC、ExecutorType.EXECUTED、ExecutorType.REUSE2.Hibernate有哪几种查询数据的方式?3.下面一对多关联的配置中,存在哪些错误()A、inverse属性不可以设置为falseB、cascade属性不可设置为trueC、class="com.x.entity.Order"应为type="com.x.entity.Order"D、column属性不可再<one-to-many>节点内设置4.在HQL语言中,Query对象特别提供了()方法,用于获得一个唯一行唯一列的对象。A、listB、uniqueResultC、resultD、queryResult5.在Hibernate的Criteria查询中,下列按创建日期进行排序的方法是()。A、criteria.addOrder(Order.asc("createDate"));B、criteria.addOrder(Order.desc("createDate"));C、criteria.saveOrder(Order.asc("createDate"));D、criteria.saveOrder(Order.desc("createDate"));6.sleep()和wait()有什么区别?7.在Hibernate映射文件的ID的配置中,主键生成器有()A、incrementB、descC、ascD、identity8.Hibernate对象从瞬时(即临时状态)到持久状态转换的方式有()A、调用session的save方法B、调用session的create方法C、调用session的update方法D、调用session的load方法9.在Hibernate的Criteria查询中,从第5条记录开始查询的方法是()。A、criteria.setFirstResult(4);B、criteria.setFirstResult(5);C、criteria.setMaxResult(4);D、criteria.setMaxResult(5);10.对于HQL中的as关键字,下列说法正确的是()。A、必须要有B、必须没有C、可以有,也可以没有D、以上说法均不正确11.下面关于本地接口和远程接口说法正确的是()A、本地接口只能本地访问B、远程接口只能远程访问C、本地接口既能本地访问,又能远程访问D、远程接口既能本地访问也能远程访问12.Hibernate的工作原理是什么?13.有状态SessionBean和无状态SessionBean的区别说法正确的是()A、无状态SessionBean要保存客户端的状态,同客户端是一对一B、有状态SessionBean要保存客户端的状态,同客户端是一对一C、他们都要保存客户端的状态,同客户端是一对一D、以上说法都不对14.在Hibernate中,用于比较字符串的like操作符“like’部%’”表示()。A、所有以“部”开头的字符串B、所有以“部”结尾的字符串C、所有包括“部”的字符串D、所有包括“部”且“部”不在开头和结尾的字符串15.下面关于Hibernate中Transaction的使用说法正确的是()。A、Transaction是可有可无的B、Transaction在做查询的时候是可选的C、Transaction在做删除的时候是可选的D、Transaction在做修改的时候是可选的16.三层结构是一种典型的应用软件分层结构,这三层分别是()A、表述层B、业务逻辑层C、控制层D、数据层17.持久化技术封装了数据访问的细节,为大部分业务逻辑提供了面向对象的API。数据持久化具有以下3个方面的特点,分别是()A、通过持久化技术能够减少访问数据库中数据的次数,提供应用程序速度B、提高代码的可重用性C、松耦合,使持久化的实现不依赖于底层数据库及上层业务逻辑D、具有更好的可扩展性18.对于以下程序,Customer对象在第几行变为游离状态?()A、line1B、line2C、line3D、line4E、line5F、line619.在持久化层,对象分为哪些状态?()A、临时状态B、独立状态C、游离状态D、持久化状态20.关于Hibernate,下列说法错误的是()A、Hibernate是一个对象-关系映射工具B、在MVC模式中,Hibernate属于控制层C、Hibernate在JDBC的方式上进行封装,以简化JDBC方式繁琐的编码工作D、在Hibernate中,可以通过xml格式的配置文件保存对象-关系的映射信息21.MyEclipse加入hibernate的全过程是什么?22.关于Hibernate中show_sql配置说法正确的是()A、默认值为trueB、默认值为falseC、为true时表示在后台打印出SQL语句D、为false表示在后台打印出SQL语句23.将某个对象从Session的一级缓存中清除的方法是()。A、close()B、clear()C、evict()D、flush()24.使用Hibernate技术实现数据库持久化时,()内容不在Hibernate配置文件中。A、  数据库连接信息B、  数据库类型C、  show_sql参数D、  数据库表和实体的映射信息25.请解释Hibernate3.2主键的生成方式中,native和identity方式的区别。第3卷一.参考题库(共25题)1.关于HQL与SQL,下列说法正确的有()A、HQL与SQL没有多少差别B、HQL面向对象,而SQL操纵关系数据库C、在HQL与SQL中,都包含select,insert,update,delete语句D、HQL仅用于查询数据,不支持insert,update和delete语句2.EJB3.0中的实体Bean的关系配置中,以下哪些可以作为cascade的值()A、SAVE-UPDATEB、DELETEC、ALLD、REMOVE3.什么事O/RM?4.在Hibernate中,关于数据库的方言,下面说法正确的是()A、可以不写数据库方言B、数据库方言没有作用,可以随便写C、有通用的数据库方言可以使用D、数据方言对应于每个数据库,主要用于产生SQL语句5.请简述Hibernate是如何实现分页的?如果不使用Hibernate提供的方法实现分页功能,则采用什么方式分页?6.Java有没有goto?7.Hibernate对JDBC访问数据库的代码进行了封装,从而大大简化了数据访问层的重复性代码,它是针对三层架构中()的解决方案。A、表现层B、业务逻辑层C、持久化层D、数据库系统8.在Hibernate中,Customer类中有一个Set类型的orders属性,用于存放Order订单对象,在Customer.hbm.xml文件中,可以用()元素映射orders属性。A、<set>B、<one-to-many>C、<many-to-one>D、<property>9.状态SessionBean和无状态SessionBean的区别说法正确的是()A、无状态Session Bean要保存客户端的状态,同客户端是一对一B、有状态Session Bean要保存客户端的状态,同客户端是一对一C、他们都要保存客户端的状态,同客户端是一对一D、以上说法都不对10.Hibernate通过映射文件中的<generator>子元素来设定标识符生成器,下列选项哪些是Hibernate提供的内置实现()A、hiloB、nativeC、assignD、indentity11.EJB3.0中的实体Bean的@Id注释主键的生成方式有以下哪几种()A、SEQUENCEB、NATIVEC、INCREMENTD、AUTO12.关于HQL的聚合函数使用,说法正确的是()。A、selectcount(*)fromDeptd用于统计部门个数B、selectsum(e.salary)fromEmpe用于汇总员工工资总额C、selectmax(e.hiredate)fromEmpe用于找到最新入职的员工的入职时间D、selectmin(e.hiredate)fromEmpe用于找到最早入职的员工的入职时间13.简述hibernate.cfg.xml文件的作用14.Hibernate对JDBC访问数据库的代码进行了封装,从而大大的简化了数据访问层的代码,它是针对三层架构中()的解决方案。A、  表现层B、  业务逻辑层C、  持久化层D、  数据库系统15.试述load()和get()的区别。16.从性能考虑,Inverse属性值通常设置为()。A、allB、falseC、trueD、None17.HQL语句:Stringhql="fromDeptasmodelorderbymodel.deptName,model.createDatedesc";所表达的意思为()。A、查询部门,按照deptName的desc排序B、查询部门,按照createDate的desc排序C、查询部门,先按照deptName的desc排序,再按照createDate的desc排序D、查询部门,deptName和createDate的desc排序没有先后之分18.使用Session的(),会把对象的状态从数据库中移除A、delete()B、remove()C、clear()D、removeAll()19.在Hibernate映射文件中,关于inverse属性说法正确的是()。A、inverse属性有两个值:true、falseB、<many-to-one>标签有inverse属性C、<set>标签有inverse属性D、inverse属性用于指定维护关联关系的那一方20.接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concreteclass)?21.Strings=newString("xyz");创建了几个StringObject?22.如何优化Hibernate查询性能?23.对于视图,下列语句正确的是()。A、有列别名的视图不能被修改B、一个复杂的视图定义中使用子查询不能包含聚合(分组)函数和连接C、如果一个视图定义中包含DISTINCT关键字,则不能够通过视图进行删除D、创建视图语法中ORREPLACE选项被使用,目的是在没有删除视图的情况下修改已存在的视图定义。24.Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)25.在Hibernate的HQL查询中,setMaxResults(3)方法中参数值3指的是()。A、从第3条记录开始B、从第4条记录开始C、查询3条记录D、查询4条记录第1卷参考答案一.参考题库1.参考答案:D2.参考答案:匿名的内部类是没有名字的内部类。不能extends(继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现。3.参考答案:B4.参考答案: find方法和iterator方法的区别 (1) iterator首先会获取符合条件的记录的id,再跟据id在本地缓存中查找数据,查找不到的再在数据库中查找,结果再存在缓存中。N+1条SQL语句。 (2) find根据生成的SQL语句,直接访问数据库,查到的数据存在缓存中,一条SQL语句。5.参考答案: Hibernate是jdbc的轻量级封装,包括jdbc的与数据库的连接(用hibernate的配置文件实现,本质是封装了jdbc),和查询,删除等代码,都用面向对象的思想用代码联系起来,Hibernate通过hbm配置文件(或注解)把持久化类的字段和数据库的字段关联起来比如数据库的id。 HQL语句也是面向对象的,它的查询语句不是查询数据库而是查询类的。6.参考答案:B,C,D7.参考答案:A,B,C8.参考答案:不对,有相同的hashcode。9.参考答案:A,B,C10.参考答案: 11.参考答案:A,D12.参考答案:A13.参考答案:D14.参考答案:C15.参考答案:D16.参考答案:A17.参考答案:C18.参考答案:A,C19.参考答案:B20.参考答案: 不加select会根据用户所提供的条件查询数据,并打成所映射的对象 加了select则不会21.参考答案:A22.参考答案: ⑴在运行的情况下使用最新版本的Hibernate发行版,如hibernate3中经过优 化的批量处理机制,代理机制、属性的延迟加载支持等; ⑵指定合理的缓存策略,通过系统压力测试得到最佳的缓存性能; ⑶采用合理的Session管理机制,避免无谓的数据库开销和临时对象的反复创建; ⑷尽量使用延迟加载特性,以避免系统资源的无谓消耗; ⑸设定合理的批处理参数(batch_size); ⑹如果可能,使用UUID作为主键生成器; ⑺如果可能,使用基于Version的乐观锁策略替代悲观锁; ⑻开发过程中,打开Hibernate的SQL日志文件(hibernate.show_sql),通过观 察Hibernate生成的SQL语句进一步了解其实现原理,从而指定更好的实现策略; ⑼数据库本身的优化也起着至关重要的作用,合理的索引、缓存和数据分区策略 都会对持久层性能带来客观提升。23.参考答案:C24.参考答案: (1)Hibernate的优点: 1).Hibernate使用Java反射机制,而不是字节码增强程序来实现透明性;  2).Hibernate的性能非常好,因为它是一个轻量级框架。映射的灵活性很出色; 3).它支持多种关系数据库,从一对一到多对多的各种复杂关系; (2)Hibernate的缺点: 它限制您所使用的对象模型,如一个持久性类不能映射到多个表,其独有的 界面和可怜的市场份额也让人不安。25.参考答案:A,B,D第2卷参考答案一.参考题库1.参考答案:A,B,D2.参考答案: (1) 导航对象图查询 (2) OID查询 (3) HQL查询 (4) QBC查询 (5) 本地SQL查询3.参考答案:B,D4.参考答案:B5.参考答案:B6.参考答案: sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级(b)正在运行的线程因为其它原因而阻塞。   wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。7.参考答案:A,D8.参考答案:A,C9.参考答案:A10.参考答案:C11.参考答案:A,D12.参考答案: Hibernate的工作原理: 1.读取并解析Hibernate核心配置文件hibernate.cfg.xml 2.读取并解析Hibernate映射文件,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory13.参考答案:B14.参考答案:A15.参考答案:B16.参考答案:A,B,D17.参考答案:A,B,C18.参考答案:F19.参考答案:A,C,D20.参考答案:B21.参考答案: 1.Db-browers加入配置连接 2.新建工程 3.加入hibernate环境,指定*.hbm.xml及HibernateSessionFactory文件所在的位置22.参考答案:B,C23.参考答案:C24.参考答案:D25.参考答案: Native主键生成方式会根据不同的底层数据库自动选择Identity、Sequence、Hilo主键生成方式  Identity当时根据底层数据库,来支持自动增长,不同的数据库用不同的主键增长方式第3卷参考答案一.参考题库1.参考答案:B,C2.参考答案:C,D3.参考答案:对象关心映射是一种为了解决面向对象与关心数据库互不匹配的技术。简单的说,orm是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中,本质上就是将数据从一种形式转换到另一种形式。4.参考答案:D5.参考答案: 6.参考答案:Goto—java中的保留字,现在没有在java中使用。7.参考答案:C8.参考答案:A9.参考答案:B10.参考答案:A,B,D11.参考答案:A,D12.参考答案

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论