hibernate练习题
软件开发框架(J2EE)Hibernate概述习题与答案

一、多选题1.在Hibernate 主配置文件(hibernate.cfg.xml)中,以下哪个元素()为它的根元素。
A.<hibernate-configuration>元素B.<session-factory>元素C.<property>元素D.<mapping>元素E.<hibernate-mapping>元素2.在Hibernate 主配置文件(hibernate.cfg.xml)中,是通过哪个元素()来配置映射文件的。
A.<hibernate-configuration>元素B.<session-factory>元素C.<property>元素D.<mapping>元素E.<hibernate-mapping>元素3.下面关于Hibernate 的映射文件说法正确的有哪些()。
A.Hibernate 是以xml 格式的文件来指定对象与关系数据之间的映射B.在hibernate.cfg.xml文件中可以配置<mapping>元素的resource属性来指定映射文件C.配置映射文件时,需要遵循它对应的DTD 文件格式D.在映射文件中,<class>元素的<id>子元素只能出现一次E.<id>元素的<generator>子元素用来设定标识符生成器4.在Hibernate 的映射文件中,<id>元素的<generator>子元素用来设定标识符生成器,以下对常用的标识符生成器的用法说法正确的是()。
A.increment:适用于代理主键。
用于为long, short 或者int 类型生成唯一标识B.identity:适用于代理主键。
由底层数据库生成标识符C.sequence:适用于代理主键。
Hibernate 根据底层数据库的序列来生成标识符D.hilo:使用一个高/低位算法高效的生成long、short 或者int 类型的标识符E.seqhilo:使用一个高/低位算法来高效的生成long、short 或者int 类型的标识符,给定一个数据库序列(sequence)的名字5.Hibernate 采用xml 文件来配置对象—关系映射有哪些好处()。
Hibernate 考题集

Hibernate考试题一.填空题:1. 对象关系映射(ORM)的基本原则是:类型(class)映射(table ),属性(property)映射(field ),关联关系(association)映射(),类型的实例或对象(instance | object)映射()。
2. Hibernate应用通常由四个部分组成,它们是使用Hibernate API 的程序和(Configuration SessionFaction 、Session 、TransactionFactory);3. Hibernate应用缺省的XML格式的配置文件名是(cfg.xml ), 放置在()下;该配置文件的根元素是(),根元素的子元素是();配置数据库方言的属性名是();配置数据库连接的四种属性名是(、、、);配置映射资源的元素是(),如果映射用XML文件表示,用属性()表示,如果映射用标注(annotation)表示,用属性()表示。
4. Hibernate XML映射文件的根元素是();此根元素下主要的子元素是();映射实体类中表示主键的属性的元素是();映射实体类中普通属性的元素是();映射一对一关联关系的元素是();映射多对一关联关系的元素是();表示多对多关系用集合元素,这些集合元素是();描述外键用元素(); 如果一个类型不是实体,但它是某个实体的组成部分,我们用元素()表示;在描述继承关系时,如果用一张表对应整个类层次结构子类型用元素()描述,如果每个子类型对应各自的表子类型用()描述,如果只有真正的可实例化的子类型才对应表则子类型可用元素()或元素()描述;代表双向关联关系时表示是否维护表中外键关系的属性名是();代表级联操作的属性名是();使用乐观锁时我们通常会在实体类型中增加一整型或日期型的属性,在影射文件中用元素(或)描述。
5. 在Hibernate XML影射文件中描述主键生成机制用元素(),其属性描述了主键的生成策略,至少写出三种策略名(、、)。
14SCME_hibernate_模拟试题

14SCME_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.在对数据库进行增加、修改和删除操作时一定要加上Transaction C.在对数据库进行查询操作时一定要加上Transaction D.获得Transaction的方法:Transaction tr = session.beginTransaction();6、在Hibernate中,如果数据库是MySql或者SQLServer,则generator属性值不可以使用()。
A.hilo B.native C.sequence D.indentity7、在Hibernate中,如果数据库是Oracle或者DB2,则generator属性值不可以使用()。
hibernate复习题1

1、名词解释:1简答:ORM,IOC,AOP,HQL分别是什么单词的简写,分别的含义是什么?进行解释。
(20分)一、ORM:对象关系映射(Object/Relation Mapping)提供了概念性的、易于理解的模型化数据的方法。
描述不同对象间关系的一个简单而直接的方式。
ORM还提供了灵活性。
ORM方法论基于三个核心原则:1、简单:以最基本的形式建模数据。
2、传达性:数据库结构被任何人都能理解的语言文档化。
3、精确性:基于数据模型创建正确标准化了的结构。
二、IOC::控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。
IOC的基本概念是:不创建对象,但是描述创建它们的方式。
在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。
容器负责将这些联系在一起。
控制反转一般分为两种类型,依赖注入和依赖查找。
依赖注入应用比较广泛。
三、AOP:面向切面的编程(Aspect oriented Programming)面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。
AOP是OOP的延续。
主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。
四、HQL:(Hibernate Query Language)官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装。
HQL主要用法有1、实体查询2、实体的更新和删除3、属性查询4、分组与排序5、参数绑定2论述题(20分)2、简答:hibernate是什么?spring是什么?一、Hiberbnate:1、Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
hibernate练习题

hibernate练习题1年。
以下语句中创建条件对象的正确语句是radioA,条件c = query . CreateCriteria();标准c =查询。
添加标准();C、条件c =会话.创建条件();D、条件c =会话创建条件(用户类);2的正确结论。
查询对象是选择大于A的对象,List()方法返回总数据为0到大于B的列表对象,uniqueResut()方法返回对象或对象数组。
数据总量为0到1条数据C,hql:selectusername from user model可以使用list()方法获取查询结果D,hql:selectusername from user model可以使用uniqueResut()方法获取查询结果3Hibernate实体对象生产规范不包括以下规则中的哪一个来选择A,构造方法B声明没有公共参数,标识属性256 所有属性的getter和setter方法D,声明为最终类(最终修饰符)4在HQL语句的参数查询中,执行以下代码。
下列选项可以正确地为参数赋值:QUERY = S . CREATE QUERY(\ radioA,query.setParameter(1,B,query.setParameter(0,C,query.setString(0,Tom);整数(0,汤姆);5关于Hibernate的瞬时对象状态是错误的。
它是为具有OID的瞬时状态的更多对象选择A,B与会话对象相关联,具有瞬时状态的对象具有OID,C不与会话对象相关联,并且具有瞬时状态的对象不具有OID。
与会话对象相关联的瞬时状态对象没有OID,6相关的QBC查询短语与会话对象不相关联,以下语句是正确的:多选A,限制。
介于表示范围比较b,限制。
eq表示相等比较C,限制。
le表示小于或等于比较d,限制。
ge表示大于或等于比较7年,以下操作对一级缓存的影响被错误地描述为| 1执行删除操作时,如果对象没有OID,将引发异常b。
Hibernate 测试题

medal.setType("Gold Medal");session.save(user);session.close();}A.配置文件配置有误B.没有在配置文件中包含对映射文件的声明C.映射文件配置有误D.没有开启事务5.下列属于多对一关系的是(bd )。
(选两项)A.书和作者B.手机和生产厂家C.用户和发布的出租信息D.士兵和班长6.下面是某系统中的两个实体类,依此可以得知(b )。
public class Wage{ //月工资实体类private Long wid;private String empName; //雇员姓名private String month; //月份//Getter & Setter……}public class WageItem{ //工资项private Wage wage;private Long iid;private String itemName; //项目名称,如基本工资、职位津贴等private String amount; //数额//Getter & Setter……}A.Wage 和WageItem 间存在单向一对多的关联B.Wage 和WageItem 间存在单向多对一的关联C.Wage 和WageItem间存在双向一对多的关联D.Wage 和WageItem间存在双向多对一的关联7.两实体类代码如下:public class Wage{ //月工资实体类private Long wid;private String empName; //雇员姓名private String month; //月份//Getter & Setter……}public class WageItem{ //工资项private Wage wage;private Long iid;private String itemName; //项目名称,如基本工资、职位津贴等private String amount; //数额//Getter & Setter……}其中的WageItem 实体类有如下配置,其中空白处应填入的代码是(a)。
Hibernate复习题1含答案要点

美斯坦福在线考试系统荆州理工G3 Hibernate科目: SCCEG3Hibernate总分: 100分时间: 60分钟一、单选题(共45题,每题2分,说明:选择一项正确的答案)1、下面关于Hibernate的说法,错误的是()A、Hibernate是一个“对象-关系映射”的实现B、Hibernate是一种数据持久化技术C、Hibernate是JDBC的替代技术他是对JDBC做了轻量级的对象封装D、使用Hibernate可以简化持久化层的编码参考答案: C2、在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下面方法可行的是()A、配置客户和订单关联的cascade属性为save-updateB、配置客户和订单关联的cascade属性为allC、设置多对一关联的inverse属性为trueD、设置多对一关联的inverse属性为false参考答案: B详解3、下面一对多关联的配置中,存在哪些错误()<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>节点内设置参考答案: B4、下面创建Criteria对象的语句中正确的是()A、Criteria c = query.createCriteria();B、Criteria c = query.addCriteria();C、Criteria c = session.createCriteria();D、Criteria c = session.createCriteria(User.class);参考答案: D5、下面关于Hibernate映射文件配置中dynamic-update属性说法正确的是()详解A、动态的修改,如果为true,只改变有改变的属性B、动态的修改,如果为true,只改变没有改变过的属性C、动态的修改,如果为true,改变所有的属性D、以上说法都错参考答案: A6、下面关系Hibernate对象的状态说话正确的是()临时持久化游离A、Hibernat的对象只有一种状态B、Hibernat的对象有2种状态C、Hibernat的对象有3种状态D、Hibernat的对象有4种状态参考答案: C7、Hibernate对象从瞬时到持久状态转换的方式有()。
Hibernate考试试卷

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的方法:Transaction tr = session.beginTransaction();6、在Hibernate中,如果数据库是MySql或者SQLServer,则generator属性值不可以使用()。
A.hiloB.nativeC.sequenceD.indentity7、在Hibernate中,如果数据库是Oracle或者DB2,则generator属性值不可以使用()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A、执行delete操作时,如果对象不具有OID,将抛出异常
B、执行update操作时,如果对象不具有OID,将抛出异常
C、执行update操作时,如果一级缓存中已经存在有相同OID数据,将抛出异常
D、执行merge操作时,如果一级缓存中已经存在有相同OID数据,将抛出异常
8下列哪项不是用于配置数据库连接的配置
Query q = s = s.uniqueResult();
空白处应该填写的内容为
单选
A、Integer
B、Long
C、Float
D、Double
36. OID生成策略不包含下列哪种
单选
A、assigned
B、auto
C、native
B、Restrictions.eq
C、Restrictions.le
D、Restrictions.ge
31Hibernate的对象状态不包含下列哪一种
单选
A、瞬时状态
B、持久化状态
C、约束状态
D、托管状态
32已知系统中的tbl_user表对应的实体类是User,下列HQL语句中正确的是
多选
A、from User
2. Query对象执行查询结论正确的是
多选
A、list()方法返回结果为List对象,数据总量为0到多条
B、uniqueResut()方法返回结果为对象或对象数组,数据总量为0到1条数据
C、HQL:select userName from UserModel可以使用list()方法进行查询结果的获取
多选
A、Configuration conf = Configuration.getConfiguration();
B、SessionFactory sf = conf.getSessionFactory();
C、Session s = sf.getSession();
D、Transaction t = s.getTransaction();
D、from UserModel um
26持久化类的编写规则有哪些?
多选
A、提供一个无参数public访问控制符的构造器
B、提供一个标识属性,映射数据表主键字段
C、所有属性提供public访问控制符的set get方法
D、属性应尽量使用基本数据类型的包装类型
27完成按用户名进行查询,程序片段如下
String hql = "from UserModel where userName = ?";
q.________(0,18);
空白处可以填写的内容为
多选
A、setInteger
B、getInteger
C、setParameter
D、getParameter
23下列关于Session对象查询单一数据描述正确的是
A、load方法是延迟加载,如果设置模型lazy=false或实体类设置为final修饰将无法产生代理对象
B、get方法是立即加载,如果查询的数据不存在返回null
C、load方法查询的数据不存在将抛出异常
D、load与get方法都可以用于查询0到多条数据
24能够完成查询操作的正确HQL语句格式有哪些
多选
A、from UserModel where um.uuid = :uuid
B、from UserModel where uuid = ?
D、关联关系必须配置成双向的,不能只配置一边
18下列关于关联关系对象模型描述错误的是
单选
A、一对多关系中,一方模型中添加多方模型的集合
B、一对多关系中,多方模型中添加一方模型的对象
C、多对多关系中,双方模型中添加对应模型的对象
D、多对多关系中,双方模型中添加对应模型的集合
19关于二级缓存数据加载描述正确的是
单选
A、hibernate.connection.url
B、ername
C、hibernate.show_sql
D、hibernate.connection.password
9以下有关Query对象获取查询结果说法不正确的是
单选
A、list()方法返回结果为List集合
C、query.setString(0,Tom);
D、query.setInteger (0,Tom);
5有关Hibernate瞬时对象状态说法错误的是
多选
A、瞬时状态的对象具有OID,与Session对象关联
B、瞬时状态的对象具有OID,不与Session对象关联
C、瞬时状态的对象不具有OID,与Session对象关联
SessionFactory sf = conf.buildSessionFactory();
Session s = sf.getSession();
多选
A、s.createQuery(from UserModel);
B、s.createQuery("from UserModel");
C、s.createCriteria("UserModel");
4在HQL语句的参数查询中,执行以下代码,下列选项能够为参数正确赋值的操作是
Query query = s.createQuery("from Customer o where =?");
单选
A、query.setParameter(1, "Tom");
B、query.setParameter(0, "Tom");
多选
A、load与get查询的数据进入二级缓存
B、HQL查询的数据进入二级缓存
C、QBC查询的数据进入二级缓存
D、使用SQLQuery执行的查询数据进入二级缓存
20下列哪些技术可以用于完成数据库的添加操作
多选
A、JDBC
B、Apache DBUtils
C、struts2
D、Hibernate
21下列Hibernate映射配置文件命名不正确的是
D、瞬时状态的对象不具有OID,不与Session对象关联
6有关QBC查询短语,下列说法正确的
多选
A、Restrictions.between表示范围比对
B、Restrictions.eq表示等比对
C、Restrictions.le表示小于等于比对
D、Restrictions.ge表示大于等于比对
7下列操作对一级缓存的影响描述错误的是
C、uuid
D、random
16下列不属于外连接查询HQL语句的是
单选
A、HQL:from TeacherModel tm inner join fetch tm.students
B、HQL:from TeacherModel tm left outer join tm.students
C、HQL:from TeacherModel tm left outer join fetch tm.students
D、s.createCriteria(UserModel.class);
29实现Hiberante延迟加载策略产生代理对象由下列哪个包完成?
单选
A、javassist.jar
B、ehcache.jar
C、hibernate3.jar
D、jta.jar
30QBC查询可以用于完成等于关系的短语是
单选
A、Restrictions.equals
B、select * from tbl_user
C、select User from User
D、from User u where u.uname=”15”
33下列名称可以用于作为Hibernate映射配置名的是
多选
A、User.cfg.xml
B、User.xml
C、UserModel.hbm.xml
D、user.properties
34Hibernate级联保存集合中的对象,casecade属性应该取什么值
单选
A、none
B、save
C、delete
D、save-update
35完成查询用户表中的信息总量,程序片段如下
String hql = "select count(uuid) from UserModel";
C、二级缓存是SessionFactory级别的缓存,同一个SessionFactory开启的不同Session间数据共享
D、二级缓存的数据首先加载到一级缓存中,然后一级缓存将数据返回给应用程序
11下列哪个接口用于执行原生SQL
单选
A、SQLQuery
B、Session
C、List
D、Query
12Hibernate常用API初始化错误的是
D、HQL:select userName from UserModel可以使用uniqueResut()方法进行查询结果的获取
3Hibernate实体对象制作规范不包含下列哪条规则
单选
A、声明无参公共的构造方法
B、提供用于作为OID的标识属性
C、为所有属性提供getter与setter方法
D、声明为最终类(final修饰)
Query q = s.createQuery();
q.________(0,”value”);
空白处应该填写的内容为
单选
A、set
B、get
C、setParameter
D、getParameter
28下列操作哪些能完成对实体类UserModel的全数据查询
Configuration conf = new Configuration().configure();