Hibernate基础考试题.doc_第1页
Hibernate基础考试题.doc_第2页
Hibernate基础考试题.doc_第3页
Hibernate基础考试题.doc_第4页
Hibernate基础考试题.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

-装-订-线-*学院课程考试试卷课程名称:Hibernate:使用Hibernate&EJB开发持久层企业及应用 (A)卷年级: 班级: 姓名:_ 学号:_ 考试(考查) 闭卷题号1-2021-4041-50总分分数选择题(每题2分,共计100分)1. 在三层结构中,数据访问层承担的责任是( )。BA. 定义实体类B. 数据的增删改查操作.C. 业务逻辑的描述D. 页面展示和控制转发2. 下面关于Hibernate的说法,错误的是( )。CA. Hibernate是一个“对象-关系映射”的实现B. Hibernate是一种数据持久化技术C. Hibernate是JDBC的替代技术D. 使用Hibernate可以简化持久化层的编码3. Hibernate配置文件中,不包含下面的( AB )。选两项A. “对象-关系映射”信息B. 实体间关联的配置C. show_sql等参数的配置D. 数据库连接信息4. 在Hibernate关系映射配置中,inverse=true属性的含义是( C )。A. 定义在节点上,声明要负责关联的维护B. 声明在节点上,声明要对方负责关联的维护C. 定义在节点上,声明对方要负责关联的维护D. 声明在节点上,声明要负责关联的维护5. 在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下面方法可行的是( B )。A. 配置客户和订单关联的cascade属性为save-updateB. 配置客户和订单关联的cascade属性为allC. 设置多对一关联的inverse属性为trueD. 设置多对一关联的inverse属性为false6. 下面一对多关联的配置中,存在哪些错误,下列选项判断正确的( )。选两项BCA. inverse属性不可以设置为falseB. cascade属性不可设置为true;C. class=com.scce.pojo.Order应为type=com.scce.pojo.Order; D. column属性不可再节点内设置执行下面的hql查询,关于返回值的说法,正确的是( )。select username,userid from Usequery.list():list List select u.username,u.userid from com.scce.pojo.User u whereu is not nullA. 语法错误,不能执行B. 返回一个类型为List的实例C. 返回一个数组D. 当返回结果只有一条时,返回一个数组7. 一般情况下,关系数据模型与对象模型之间有哪些匹配关系( ACD )。选三项A. 表对应类B. 记录对应类/对象C. 表的字段对应类的属性;D. 表之间的参考关系对应类之间的依赖关系;8. 以下关于SessionFactory的说法,正确的是( )。选两项A. 对于每个数据库事务,应该创建一个SessionFactory对象B. 一个SessionFactory对象对应一个数据库存储源;C. SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据库存储源,只需要创建一个;D. SessionFactory的load()方法用于加载持久化对象9. Customer类中有一个Set类型的orders属性,用来存放Order订单对象,在Customer.hbm.xmlCustomer.hbm.xml文件中,用哪个元素映射orders属性( )。选两项A. ;B. ;C. D. 10. 元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值( )。A. noneB. saveC. deleteD. save-update;11. 以下哪些属于Session的方法( )。选三项A. load();/delete() get() close() isOpen()B. save()C. open()D. saveOrUpdate();12. 以下程序的打印结果是( )。tx = 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. 打印true;D. 编译出错13. tx = session.beginTransaction();Customer customer=(Customer)session.load(Customer.class, new Long(1);customer.setName(Jack);customer.setName(Mike);mit();执行以上程序,Hibernate需要向数据库提交几条update语句( )。A. 0B. 1;C. 2D. 314. 在持久化层,对象分为哪些状态( )。选三项A. 瞬时(Transient)(临时)B. 新建(New)C. 游离(Detached)(脱管)D. 持久(Persistent)15. 对于以下程序,Customer对象在第几行变为持久化状态( )。Customer customer=new Customer(); customer.setName(Tom); Session session1=sessionFactory.openSession(); Transaction tx1 = session1.beginTransaction(); /line1session1.save(customer); /line2 它是动词,过程mit(); /line3(持久化 等价于 保存到硬盘)session1.close(); /line4A. line1B. line2;C. line3D. line416. 对于以下程序,Customer对象在第几行变为游离状态( )。Customer customer=new Customer(); customer.setName(Tom); Session session1=sessionFactory.openSession(); Transaction tx1 = session1.beginTransaction(); /line1session1.save(customer); /mit(); /line3session1.close(); /line4A. line1B. line2C. line3D. line4;17. 以下哪一种检索策略利用了外连结查询( )。A. 立即检索 B. 延迟检索 C. 迫切左外连结检索;D. 迫切右外连结检索18. 假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现( )。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. 编译通过,但运行时抛出异常;19. POJO是( )。A. Plain Old Java Object;B. Programming Object Java ObjectC. Page Old Java ObjectD. Plain Object Java Old20. POJO的作用是( )。选两项A. 普通的Java对象映射数据库字段;B. 数据访问C. 对象的赋值;D. 保存客户端对象21. 实现equals和hashCode最显而易见的作用是( )。A. 比较两个对象标识符的值;B. 比较数据库的两条数据C. 比较两个组建是否部署在同一个应用服务器上D. 对象与字段的映射22. 在源代码中嵌入映射信息需要( )。A. XDoclet;B. EJBC. HibernateD. Spring23. 所有的Hibernate内建对象中,除了( )都支持空(null)语义。A. Collection;不支持nullB. ElementC. EntityD. NodeList24. ( )元素把子对象的一些元素与父类对应的表的一些字段映射起来。A. Component(组件)B. ElementC. AttributeD. ActionForm25. ORM是( )。A. 对象关系映射B. 对象实体映射C. 数据传输对象D. 数据访问对象26. JDBC可以做的三件事是( )。选三项A. 与数据库建立连接B. 通过JDBC-API向数据库发送SQL语句C. 通过JDBC-API执行SQL语句D. 进行实体关系的映射27. ORM的好处有( )。A. 能进行关系对象的映射B. 具有控制器功能C. 能在服务器端保存客户端状态D. 向DTO一项能传递数据28. 常见的实体域对象是( )。选两项A. 主动域对象(EJB)B. JavaBean对象(也称为POJO,Plain Old Java Object)C. 控制器对象D. ActionForm29. 常见的三层分别是( )。选三项A. 应用层B. 业务逻辑层C. 数据访问层D. 通讯层30. 对象(实体的实例)对一个特定的Session来说,要么是一个_对象,要么是_对象( )。选两项A. 瞬时B. 持久化C. 控制器D. 数据传输对象31. 如果你已知某个实例的持久化标识,你可以使用Session的( )方法来获取它。A. load()B. loadAll()C. getAllData()D. init()32. 如果你不能确定你要寻找的对象的持久化标识符,那么你需要使用查询,使用Session的_方法( )。A. createQuery()B. query()C. queryAll()D. queryObject()33. HQL不支持聚合函数有( )。HQL中聚合函数,不能使用?占位,用*或类具体字段名A. count(*)B. avg()/代表字段名C. count()D. count(?)34. _和_子句都不支持算数表达式( )。选两项A. group by;B. order by;C. compute byD. insert by35. 除了_和_外,查询语句都是对大小写不敏感的( )。选两项A. Java类;B. POJO类;C. 映射文件D. 属性名称36. from Cat as cat,不仅仅返回_的实例,而且还返回_的实例( )。选两项A. Cat;B. Cat父类C. Cat子类;D. Cat实现接口37. _代表升序,_代表降序( )。选两项A. ascB. ansiC. descD. description38. 对原生SQL查询的控制是通过( )接口进行的。A. SQLQuery;B. SessionC. ListD. Query39. 假设实体映射时有一个( )的关联指向另外一个实体,在查询时必须也返回那个实体,否则会导致发生一个”column not found”的数据库错误。A. many-to-oneB. many-to-manyC. one-to-manyD. one-to-one;40. 在Hibernate中,关于数据库的方言,下面说法正确的是( )。A. 可以不写数据库方言B. 数据库方言没有作用,可以随便写C. 有通用的数据库方言可以使用D. 数据方言对应于每个数据库,主要用于产生SQL语句;41. 下面不属于持久化的是( )。A. 把对象转换称字符串的形式通过网络传输,在另一端接收到这个字符串后能把对象还原出来;B. 把程序数据从数据库中读出来C. 从XML配置文件中读取程序的配置信息D. 把程序数据保存为文件42. 下面不是Hibernate映射文件中包含的内容是( )。选两项A. 数据库连接信息;B. Hibernate属性参数;C. 主键生成策略D. 属性数据类型43. 下面的程序执行后没有报错,但数据总保存不到数据库,最可能的原因是( )。public static void imain(String args)SessionFactory sf=new Configration().configure().buildSessionFactory();Session session=sf.openSession();Medal medal=new Medal();medal.setOwner(“totong”);medal.setType(“Gold medal”);session.save(user);session.close();A. 配置文件配置有误B. 没有在配置文件中包含对映射文件的声明C. 配置文件配置有误D. 没有对持久化操作捕捉异常E. 没有开启事务;44. 下列属于多对一关系的是( )。A. 书和作者B. 手机和生产厂家C. 用户和发布的出租信息D. 士兵和班长;45. 已知wage.getItem().size()的值是1。要想使执行session.update(wage)时自动执行session.update(wage.getItems().get(0),必须配置( )。A. B. C. D. ;46. 已知系统中的tbl_user表对应的实体类是User,下列HQL语句中正确的是( )。选两项A. from User;B. select * from tbluserC. select User from UserD. from User u where u.uname=”15”;47. 在JAVA中,关于属性文件,下列选项中的说法正确的是( )。 A属性文件以名称和值的形式保存信息; B属性文件不能写中文 C属性文件中能保存各种数据类型的信息D 属性文件的文件扩展名是.xml48. 下面说法正确的是( )。选两项 AHQL只用于查询数据 BHQL具备更强大的功能,实体的更新与删除即其主要特征之一; Cdelete与update子句为Hibernate2引入的新特性D delete与update子句为Hibernate3引入的新特性;49. VO与PO的主要区别在于( )。选三项 AVO是相对独立的实体对象,处于非管理状态; BPO是由Hibernate纳入容器管理的对象,代表与数据库某条记录对应的实体 C如果一个PO与其对应的Session实例分离,那么它将由PO变成VO D处于Model层的PO能被传到其他层HQL语法结构(update/delete子句为Hibernate3引入的新特性)select/update/deletefrom.where.group by.having.order by.Component是一个被包含的对象,它作为值类型被持久化,而非一个被引用的实体。“component(组件)”这一术语指的是面向对象的合成概念(而并不是系统构架层次上的组件的概念)举个例子, 你可以对人(Person)如以下这样来建模: public class Person private java.util.Date birthday; private Name name; private String key; public String getKey() return key; private void setKey(String key) this.key=key; public java.util.Date getBirthday() return birthday; public void setBirthday(java.util.Date birthday) this.birthday = birthday; public Name getName() return name; public void setName(Name name) = name; . .public class Name char initial; String first; String last; public String getFirst() return first; void setFirst(String first) this.first = first; publi

温馨提示

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

评论

0/150

提交评论