一、选择:1) 在三层结构中,数据访问层承担的责任是(B)a) 定义实体类b) 数据的增删改查操作c) 业务逻辑的描述d) 页面展示和控制转发2) 下面关于数据持久化概念的描述,错误的是(Da) 保存在内存中数据的状态是瞬时状态b) 持久状态的数据在关机后数据依然存在c) 数据可以由持久状态转换为瞬时状态d) 将数据转换为持久状态的机制称为数据持久化3) 下面关于Hibernate的说法,错误的是(C)a) Hibernate是一个“对象-关系映射”的实现b) Hibernate是一种数据持久化技术c) Hibernate是JDBC的替代技术d) 使用Hibernate可以简化持久化层的编码4) Hibernate配置文件中,不包含下面的(A)a) “对象-关系映射”信息b) 数据关联的配置c) show_sql等参数的配置d) 数据库连接信息5) 在Hibernate关系映射配置中,inverse属性的含义是(B)。
a) 定义在<one-to-many>节点上,声明要负责关联的维护b) 声明在<set>节点上,声明要对方负责关联的维护c) 定义在<one-to-many>节点上,声明对方要负责关联的维护d) 声明在<set>节点上,声明要负责关联的维护6) 在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下面方法可行的是(B。
a) 配置客户和订单关联的cascade属性为save-updateb) 配置客户和订单关联的cascade属性为allc) 设置多对一关联的inverse属性为trued) 设置多对一关联的inverse属性为false7) 下面一对多关联的配置中,存在哪些错误(D)。
<set name="orders" inverse="false" cascade="true"><one-to-many class="com.x.entity.Order"column="customer_id" /></set>a) inverse属性不可以设置为falseb) cascade属性可设置为truec) class="com.x.entity.Order"应为type="com.x.entity.Order"d) column属性不可再<one-to-many>节点内设置8) 执行下面的hql查询,关于返回值的说法,正确的是(B)。
select ername,eridfrom er uwhere u is not nulla) 语法错误,不能执行b) 返回一个类型为List的实例c) 返回一个数组d) 当返回结果只有一条时,返回一个数组9) 下面创建Criteria对象的语句中正确的是(D)。
a) Criteria c = query.createCriteria();b) Criteria c = query.addCriteria();c) Criteria c = session.createCriteria();d) Criteria c = session.createCriteria(User.class);10) 一般情况下,关系数据模型与对象模型之间不包括下列哪个匹配关系?(B)a) 表对应类b) 记录对应对象c) 表的字段对应类的属性d) 表之间的参考关系对应类之间的依赖关系11) 以下关于SessionFactory的说法哪些正确?Ba) 对于每个数据库事务,应该创建一个SessionFactory对象b) 一个SessionFactory对象对应一个数据库存储源。
c) SessionFactory是重量级的对象,不应该随意创建。
如果系统中只有一个数据库存储源,需要创建多个。
d) SessionFactory的load()方法用于加载持久化对象12) Customer类中有一个Set类型的orders属性,用来存放Order订单对象,在Customer.hbm.xml文件中,用哪个元素映射orders属性?Aa) <set>b) <one-to-one>c) <many-to-one>d) <property>13) <set>元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade 属性应该取什么值?(D)a) noneb) savec) deleted) save-update14) 以下哪些不属于Session的方法?Ca) load()b) save()c) open()d) saveOrUpdate()15) 创建序列时,若未指定Cycle选项,则当当前值大于MaxValue时将()a) 从MinValue重新开始循环b) 重复使用MaxValue 值c) 执行出错d) 使用随机值16) 以下程序的打印结果是什么?Ctx = session.beginTransaction();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);mit();session.close();a) 运行出错,抛出异常b) 打印falsec) 打印trued) 编译出错17) 以下程序代码对Customer的name属性修改了两次:Btx = session.beginTransaction();Customer customer=(Customer)session.load(Customer.class, new Long(1)); customer.setName(\"Jack\");customer.setName(\"Mike\");mit();执行以上程序,Hibernate需要向数据库提交几条update语句?(B)a) 0b) 1c) 2d) 318) 在持久化层,对象分为的状态不包括?(B)a) 瞬时(Transient)b) 新建(New)c) 脱管(Detached)d) 持久(Persistent)19) 对于以下程序,Customer对象在第几行变为持久化状态?(B)Customer customer=new Customer();customer.setName(\"Tom\");Session session1=sessionFactory.openSession();Transaction tx1 = session1.beginTransaction(); //line1session1.save(customer); //line2mit(); //line3session1.close(); //line4a) line1b) line2c) line3d) line420) 对于以下程序,Customer对象在第几行变为游离状态?(D)Customer customer=new Customer();customer.setName(\"Tom\");Session session1=sessionFactory.openSession();Transaction tx1 = session1.beginTransaction(); //line1session1.save(customer); //line2mit(); //line3session1.close(); //line4a) line1b) line2c) line3d) line421) 以下哪一种检索策略利用了外连结查询?(C单选)a) 立即检索b) 延迟检索c) 迫切左外连结检索d) 迫切右外连结检索22) 假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现什么情况(D单选)Session session=sessionFactory.openSession();tx = session.beginTransaction();Customer customer=(Customer)session.get(Customer.class,new Long(1));mit();session.close();Iterator orderIterator=customer.getOrders().iterator();a) 编译出错b) 编译通过,正常运行,不显示任何信息c) 编译通过,正常运行,并显示出结果d) 编译通过,但运行时抛出异常23) POJO是Aa) Plain Old Java Objectb) Programming Object Java Objectc) Page Old Java Objectd) Plain Object Java Old24) POJO的作用是Ca) 普通的Java对象映射数据库元组b) 数据访问c) 对象的赋值d) 保存客户端对象25) 实现equals和hashCode最显而易见的作用是Aa) 比较两个对象标识符的值b) 比较数据库的两条数据c) 比较两个组建是否部署在同一个应用服务器上d) 对象与字段的映射26) 持久化状态前进行合法性检查,需要实现的接口是Ba) ActionListenerb) Lifecyclec) HttpServletRequestd) 持久化状态合法检查不需要实现接口27) 在源代码中嵌入映射信息需要Aa) XDocletb) EJBc) Hibernated) Spring28) 所有的Hibernate,除了了都支持空(null)语义。
Aa) Collectionb) Elementc) Entityd) NodeList29)30) 元素把子对象的一些元素与父类对应的表的一些字段映射起来Aa) Componentb) Elementc) Attributed) ActionForm31) 要实现一个自定义类型,需要实现的接口是Aa) erTypeb) positeTypec) org.hibernate.Sessiond) erType32) ORM是Aa) 对象关系映射b) 对象实体映射c) 数据传输对象d) 数据访问对象33) JDBC不可以完成以下那个选项Da) 与数据库建立连接b) 通过JDBC-API向数据库发送SQL语句c) 通过JDBC-API执行SQL语句d) 进行实体关系的映射34) ORM有什么好处Aa) 能进行关系对象的映射b) 具有控制器功能c) 能在服务器端保存客户端状态d) 向DTO一项能传递数据35) 常见的实体域对象是Ba) 被动域对象(EJB)b) JavaBean对象(也称为POJO,Plain Old Java Object)c) 控制器对象d) ActionForm36) 过程域对象在Hibernate中代表Ca) 业务逻辑操作b) 应用层操作c) 数据库层操作d) 组件对象操作37) 以下哪项不是常见的三层Da) 应用层b) 业务逻辑层c) 数据访问层d) 通讯层38) 对象(实体的实例)对一个特定的Session来说,要么是一个_瞬时__对象,要么是____对象Ba) 短时b) 持久化c) 控制器d) 数据传输对象39) 如果你已知某个实例的持久化标识,你可以使用Session的_____方法来获取它Aa) load()b) loadAll()c) getAllData()d) init()40) 如果你不能确定你要寻找的对象的持久化标识符,那么你需要使用查询,使用Session 的____方法Aa) createQuery()b) query()c) queryAll()d) queryObject()41) 使用Session的____会把对象的状态从数据库中移除Aa) delete()b) remove()c) clear()d) removeAll()42) Hibernate通过____接口,_ CollectionMetadata接口和Type层次体系来访问元数据。