hibernate练习题
- 格式:doc
- 大小:37.00 KB
- 文档页数:7
一、多选题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考试题一.填空题: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_模拟试题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属性值不可以使用()。
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练习题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。
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)。
美斯坦福在线考试系统荆州理工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考试试题(题库)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、在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属性值不可以使用()。
Hibernate&EJB考试试题1、下面关于Hibernate说法正确的是()(选择两项)A)Hibernate是ORM的一种实现方式B)Hibernate不要JDBC的支持C)属于控制层D)属于数据持久层2、下面关于ORM的说法错误的是()(选择两项)A)对象关系映射,让现实中的对象同数据库的表产生映射B)对象关系映射,让类同表产生关系C)对象关系映射,让类同记录产生关系D)对象关系映射,让类中的属性同表中的列产生关系3、下面关于Hibernate中Session的说法正确的是()(选择两项)A)Session是轻量级的,可以随意的创建和销毁B)Session是重量级的,不能随意的创建和销毁C)Session是线程安全的D)Session不是线程安全的4、在Hibernate中,一下()不属于session的方法A、close() B. open() C. update() D. delete()5、下面关于Hibernate中load和get方法说法正确的是()A)这两个方法是一样的,没有任何的区别B)这两个方法不一样,laod先找缓存,再找数据库C)这两个方法不一样,get先找缓存,再找数据库D)以上说法都不对6、在Hibernate中修改对象的说话错误的是()A)只能利用update方法来做修改B)可以利用saveOrUpdate方法来做修改C)可以利用HQL语句来做修改D)不能利用HQL语句来修改7、下面关于Hibernate中Transaction的使用说法正确的是()(选择两项)A)Transaction是可有可无的B)Transaction在做查询的时候是可有可无的C)Transaction在做修改的时候是可有可无的D)Transaction在做修改的时候是必须的8、使用Hibernate技术实现数据持久化时,下面()内容不在H ibernate配置文件中配置(选择一项)A) 数据库连接信息B) 数据库类型(dialect)C) show_sql参数D) 数据库表和实体的映射信息9、关于Hibernate中show_sql配置说法正确的是()(选择两项)A)默认值为trueB)默认值为falseC)为true时表示在后台打印出SQL语句D)为false表示在后台打印出SQL语句10、关于Hibernate中关系的说话正确的是()A)一对多必须用Set来映射B)多对一必须用Set来映射C)一对多可以用Set来映射,也可以用List、Map来映射D)多对一必须用Set来映射,也可以用List、Map来映射11、从SessionFactory中得到Session的方法是()A)getSessionB)openSessionC)currentSessionD)以上都不是12、在Hibernate映射文件的ID的配置中,主键生成器native的说法正确的是()A)包括desc、asc和identityB)包括desc、asc和sequenceC)包括increment、sequence、hilo和identityD)包括sequence、hilo和identity13、下列关于延迟加载说法正确的是()(选择两项)A)lazy="true"表示采用延迟加载B)lazy="false"表示采用延迟加载C)Lazy默认情况下位trueD)Lazy默认情况下位false14、在多对一得配置中,关于fetch的配置说法正确的是()A)其值可以是true或falseB)其值可以是join或selectC)其值可以是lazy或inverseD)以上都不对15、Hibernate 对JDBC访问数据库的代码做了封装,从而大大简化了数据访问的重复性代码,它是针对三层架构中( )的解决方案A)表现层B)业务逻辑层C)持久化层D)数据库系统16、在Hibernate中,下面代码实现了对TblFwxx实体中title属性的模糊查询,则下列选项的说法正确的是()Session session=this.getSession();String hql=”from TblFwxx fw where fw.title like ?”;//(1)Query query=session.createQuery(hql);//(2)query.setString(0,”%健翔桥%”)//(3)List list=query.list();//(4)A)第(1)行TblFwxx和fw间必须有as关键字B)第(2)行没有错误C)第(3)行应该为:query.setString(a,”健翔桥”);D)第(4)行应该为List list=query.executeQuery();17、下面关于数据持久化概念的描述,错误的是()。