Hibernate-D1 试题

合集下载

hibernate练习题

hibernate练习题

1.下面创建Criteria对象的语句中正确的是单选A、Criteria c = query.createCriteria();B、Criteria c = query.addCriteria();C、Criteria c = session.createCriteria();D、Criteria c = session.createCriteria(User.class);2. Query对象执行查询结论正确的是多选A、list()方法返回结果为List对象,数据总量为0到多条B、uniqueResut()方法返回结果为对象或对象数组,数据总量为0到1条数据C、HQL:select userName from UserModel可以使用list()方法进行查询结果的获取D、HQL:select userName from UserModel可以使用uniqueResut()方法进行查询结果的获取3Hibernate实体对象制作规范不包含下列哪条规则单选A、声明无参公共的构造方法B、提供用于作为OID的标识属性C、为所有属性提供getter与setter方法D、声明为最终类(final修饰)4在HQL语句的参数查询中,执行以下代码,下列选项能够为参数正确赋值的操作是Query query = s.createQuery("from Customer o where =?");单选A、query.setParameter(1, "Tom");B、query.setParameter(0, "Tom");C、query.setString(0,Tom);D、query.setInteger (0,Tom);5有关Hibernate瞬时对象状态说法错误的是多选A、瞬时状态的对象具有OID,与Session对象关联B、瞬时状态的对象具有OID,不与Session对象关联C、瞬时状态的对象不具有OID,与Session对象关联D、瞬时状态的对象不具有OID,不与Session对象关联6有关QBC查询短语,下列说法正确的多选A、Restrictions.between表示范围比对B、Restrictions.eq表示等比对C、Restrictions.le表示小于等于比对D、Restrictions.ge表示大于等于比对7下列操作对一级缓存的影响描述错误的是单选A、执行delete操作时,如果对象不具有OID,将抛出异常B、执行update操作时,如果对象不具有OID,将抛出异常C、执行update操作时,如果一级缓存中已经存在有相同OID数据,将抛出异常D、执行merge操作时,如果一级缓存中已经存在有相同OID数据,将抛出异常8下列哪项不是用于配置数据库连接的配置单选A、hibernate.connection.urlB、ernameC、hibernate.show_sqlD、hibernate.connection.password9以下有关Query对象获取查询结果说法不正确的是单选A、list()方法返回结果为List集合B、list()方法返回结果数据总量为1到多条数据C、uniqueResut()方法返回结果内容为对象或对象数组D、uniqueResut()方法返回结果数据总量为0到1条数据10下列关于Hibernate缓存设置描述正确的是多选A、二级缓存默认开启,无需手工设置B、一级缓存是Session级别的缓存,不同Session对象间数据不共享C、二级缓存是SessionFactory级别的缓存,同一个SessionFactory开启的不同Session间数据共享D、二级缓存的数据首先加载到一级缓存中,然后一级缓存将数据返回给应用程序11下列哪个接口用于执行原生SQL单选A、SQLQueryB、SessionC、ListD、Query12Hibernate常用API初始化错误的是多选A、Configuration conf = Configuration.getConfiguration();B、SessionFactory sf = conf.getSessionFactory();C、Session s = sf.getSession();D、Transaction t = s.getTransaction();13下列哪些规则不能作为Hibernate持久化类定义的规范多选A、声明可访问的无参构造方法B、为所有属性提供getter与setter方法C、声明为最终类(final修饰)D、为实体模型类实现序列化接口14进行Hibernate属性配置时,不能使用下列哪种配置格式多选A、<property name="name">B、<property column="age">C、<property "address"=name "addr"=column>D、<property name="usreName" column="userName"></property>15下列OID生成策略错误的是多选A、autoB、identityC、uuidD、random16下列不属于外连接查询HQL语句的是单选A、HQL:from TeacherModel tm inner join fetch tm.studentsB、HQL:from TeacherModel tm left outer join tm.studentsC、HQL:from TeacherModel tm left outer join fetch tm.studentsD、HQL:from TeacherModel tm right outer join tm.students17以下有关Hibernate映射说法不正确的是多选A、类中的属性必须与表中的字段一一对应,全部映射B、表中的字段必须与类中的属性一一对应,全部映射C、一个类可以映射多个表,一个表可以映射多个类D、关联关系必须配置成双向的,不能只配置一边18下列关于关联关系对象模型描述错误的是单选A、一对多关系中,一方模型中添加多方模型的集合B、一对多关系中,多方模型中添加一方模型的对象C、多对多关系中,双方模型中添加对应模型的对象D、多对多关系中,双方模型中添加对应模型的集合19关于二级缓存数据加载描述正确的是多选A、load与get查询的数据进入二级缓存B、HQL查询的数据进入二级缓存C、QBC查询的数据进入二级缓存D、使用SQLQuery执行的查询数据进入二级缓存20下列哪些技术可以用于完成数据库的添加操作多选A、JDBCB、Apache DBUtilsC、struts2D、Hibernate21下列Hibernate映射配置文件命名不正确的是单选A、user.propertiesB、user.hbm.xmlC、User.hbm.xmlD、UserModel.hbm.xml22完成按照用户年龄进行查询,下列程序片段如下String hql = "from UserModel where age = ?";Query q = s.createQuery(hql);q.________(0,18);空白处可以填写的内容为多选A、setIntegerB、getIntegerC、setParameterD、getParameter23下列关于Session对象查询单一数据描述正确的是A、load方法是延迟加载,如果设置模型lazy=false或实体类设置为final修饰将无法产生代理对象B、get方法是立即加载,如果查询的数据不存在返回nullC、load方法查询的数据不存在将抛出异常D、load与get方法都可以用于查询0到多条数据24能够完成查询操作的正确HQL语句格式有哪些多选A、from UserModel where um.uuid = :uuidB、from UserModel where uuid = ?C、from UserModel um where m.uuid = ?D、from UserModel um25以下HQL语句书写语法格式错误的是单选A、select erName from UserModelB、select userName from UserModel umC、select userName from UserModel as umD、from UserModel um26持久化类的编写规则有哪些?多选A、提供一个无参数public访问控制符的构造器B、提供一个标识属性,映射数据表主键字段C、所有属性提供public访问控制符的set get 方法D、属性应尽量使用基本数据类型的包装类型27完成按用户名进行查询,程序片段如下String hql = "from UserModel where userName = ?";Query q = s.createQuery();q.________(0,”value”);空白处应该填写的内容为单选A、setB、getC、setParameterD、getParameter28下列操作哪些能完成对实体类UserModel的全数据查询Configuration conf = new Configuration().configure(); SessionFactory sf = conf.buildSessionFactory();Session s = sf.getSession();多选A、s.createQuery(from UserModel);B、s.createQuery("from UserModel");C、s.createCriteria("UserModel");D、s.createCriteria(UserModel.class);29实现Hiberante延迟加载策略产生代理对象由下列哪个包完成?单选A、javassist.jarB、ehcache.jarC、hibernate3.jarD、jta.jar30QBC查询可以用于完成等于关系的短语是单选A、Restrictions.equalsB、Restrictions.eqC、Restrictions.leD、Restrictions.ge31Hibernate的对象状态不包含下列哪一种单选A、瞬时状态B、持久化状态C、约束状态D、托管状态32已知系统中的tbl_user表对应的实体类是User,下列HQL语句中正确的是多选A、from UserB、select * from tbl_userC、select User from UserD、from User u where u.uname=”15”33下列名称可以用于作为Hibernate映射配置名的是多选A、User.cfg.xmlB、User.xmlC、UserModel.hbm.xmlD、user.properties34Hibernate级联保存集合中的对象,casecade属性应该取什么值单选A、noneB、saveC、deleteD、save-update35完成查询用户表中的信息总量,程序片段如下String hql = "select count(uuid) from UserModel";Query q = s.createQuery(hql);________ count = s.uniqueResult();空白处应该填写的内容为单选A、IntegerB、LongC、FloatD、Double36. OID生成策略不包含下列哪种单选A、assignedB、autoC、nativeD、identity37hibernate的二级缓存关于类级别的缓存说法正确的是多选A、缓存中存放的是对象的实体B、缓存中存放的是对象实体的散装数据,查询时会重新组织新的实体对象C、集合缓存要依赖于类级别的缓存,因为这里存放的是OIDD、查询缓存依赖于类级别的缓存38已知要查询数据的OID,完成查询OID为指定值的数据可以通过如下哪些方法实现多选A、load()B、loadAll()C、get()D、init()39Hibernate快照描述错误的是单选A、快照是一级缓存中的特殊区域B、快照是二级缓存中的特殊区域C、快照是自动产生的,不可以手工修改D、快照的作用是用于比对一级缓存中的数据是否进行增删改操作40以下方法不是Session接口用于进行增删改操作的是单选A、save(Object obj)B、update(Object obj)C、delete(Object obj)D、load(Class clazz, Serializable uuid)。

hibernate内部测试题总结

hibernate内部测试题总结

hibernate内部测试题总结在Hibernate中,关于脏检查和刷新缓存说法正确的是(ab )。

A.当事务提交时,会发⽣脏检查B.Session的flush( )⽅法是刷新缓存的⽅法C.在执⾏Session的commit( )⽅法之前不会调⽤Session的flush( )⽅法D.编写代码时,调⽤commit( )⽅法之前要调⽤flush( )⽅法解析:在执⾏Session的commit()⽅法之前会调⽤Session的flush()⽅法 C错误 调⽤commit()⽅法都不是⼿动调⽤flush()⽅法使⽤HQL查询所有部门信息,以下正确的是( b)。

A.from DeptB.select * from cn.jbit.demo.entity.DeptC.select Dept from cn.jbit.demo.entity.Dept dD.select d from Dept d解析:HQL查询信息没有 *关于Query接⼝的list( )和iterate( )⽅法,说法正确的是( ad)。

A.执⾏list( )⽅法,查询所有符合条件的记录B.执⾏iterate( )⽅法,查询所有符合条件的记录C.执⾏list( )⽅法,查询出所有符合条件的主键值D.执⾏iterate ( )⽅法,查询出所有符合条件的主键值解析:list()是查询⼿游符合条件的记录 iterate()是查询出所有符合条件的5.在HQL中,关于Query接⼝绑定参数的⽅法,说法正确的是( ABCD)。

A.setParameter( )⽅法⽤于绑定任意类型的参数B.setParameter( )有重载的⽅法C.setProperties( )有重载的⽅法D.setProperties( )⽅法⽤于绑定命名参数6.在Hibernate中,关于以下映射配置,说法错误的是(D)。

<hibernate-mapping><class name="cn.jbit.hibernatedemo.entity.Emp" table="EMP" schema="scott"> <id name="empNo" column="EMPNO" type="ng.Integer"><generator class="assigned"/></id><property name="salary" type="ng.Double" column="SAL"/><property name="hireDate" type="java.util.Date"/><many-to-onename="dept"column="DEPTNO"class="cn.jbit.hibernatedemo.entity.Dept"/></class></hibernate-mapping>A.此配置信息描述了cn.jbit.hibernatedemo.entity.Emp类和EMP表的映射B.描述的是scott⽤户的EMP表C.<many-to-one>标签中的name属性值dept是cn.jbit.hibernatedemo.entity.Emp类的属性名D.<many-to-one>标签中的column属性值DEPTNO是dept表的主键名解析:D选项中column属性值deptNo是emp表中的外键列7.在Hibernate映射⽂件中,关于inverse属性说法正确的是(ACD)。

hibernate面试题大全

hibernate面试题大全

hibernate面试题大全Hibernate是一个开源的、轻量级的ORM(对象关系映射)框架,广泛应用于Java应用程序的数据持久层。

在Hibernate的使用过程中,面试官可能会问到各种与Hibernate相关的问题。

本文将为您总结一些常见的Hibernate面试题,帮助您更好地准备面试。

以下是Hibernate面试题大全:1. 什么是Hibernate?它的主要特点是什么?Hibernate是一个用于Java平台的ORM框架,全称为Hibernate ORM(Object-Relational Mapping)。

它的主要特点包括:- 简化了数据持久化的过程,将Java对象与数据库表之间的映射关系进行自动管理。

- 支持面向对象的数据操作,不再需要编写大量的SQL语句,提高了开发效率。

- 提供了对多种数据库的支持,使得应用程序在切换不同数据库时更加方便。

- 具备高度的可定制性和扩展性,开发者可以通过配置文件或注解来定义对象和表之间的映射关系,以及其他一些高级特性。

2. Hibernate的工作原理是什么?Hibernate的工作原理主要包括以下几个步骤:- 配置:通过Hibernate配置文件定义数据库连接信息、映射文件、缓存配置等。

- 加载:当应用程序需要访问数据库时,Hibernate根据配置文件中的信息加载SessionFactory,并根据映射文件生成必要的SQL语句和对象关系。

- 映射:Hibernate将Java对象与数据库表之间的映射关系进行管理,包括属性的映射、关联关系的映射等。

- CRUD操作:通过Session对象进行对数据库的操作,包括增删改查等。

- 缓存:Hibernate具备一级缓存和二级缓存,提高了数据访问的性能。

- 事务管理:Hibernate支持事务管理,开发者可以通过编程或配置的方式实现对事务的控制。

3. Hibernate中的SessionFactory和Session有什么区别?SessionFactory是Hibernate的一个重要接口,负责创建和关闭Session对象。

Hibernate考试题

Hibernate考试题

座位号密封线内不要答题号考试题第 1页 共4页第 2页 共4页号四、简答题(本大题共4小题,每小题5分,共20分)1.什么是持久化?可以持久化的介质有哪些?2.什么是ORM?数据库和java类如何对应的?常用的ORM框架有哪些?3.Hibernate常用的接口有哪些?4.简述Hibernate操作数据库的步骤?第 3页共4页第 4页共4页五、论述题(本大题共2小题,每小题10分,共20分)(1)以下程序的打印结果是什么?(单选)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(2)以下程序代码对Customer的name属性修改了两次:tx = session.beginTransaction();Customer customer=(Customer)session.load(Customer.class,new Long(1));customer.setName(\"Jack\");customer.setName(\"Mike\");mit();执行以上程序,Hibernate需要向数据库提交几条update语句?(单选)A)0 B)1 C)2 D)3(3)在持久化层,对象分为哪些状态?(多选)A)临时状态B)独立状态C)游离状态D)持久化状态(4)对于以下程序,Customer对象在第几行变为持久化状态?(单选)Customer customer=new Customer(); //line1customer.setName(\"Tom\"); //line2Session session1=sessionFactory.openSession(); //line3Transaction tx1 = session1.beginTransaction(); //line4session1.save(customer); //line4mit(); //line5session1.close(); //line6A)line1 B)line2 C)line3 D)line4 E)line5 F)line6。

hibernate 面试题

hibernate 面试题

hibernate 面试题Hibernate面试题Hibernate是一种开源的Java持久化框架,可用于处理对象与关系数据库之间的映射和数据查询。

在Hibernate面试中,面试官通常会考察候选人对Hibernate的理解、常见问题的解决方案以及最佳实践等方面的知识。

以下是一些常见的Hibernate面试题及其答案,帮助你更好地准备面试。

1. 什么是Hibernate?Hibernate是一种开源的Java持久化框架,它通过对象和数据库表之间的映射,简化了数据持久化的过程。

它提供了一个面向对象的查询语言(HQL),并且支持事务管理、缓存以及延迟加载等功能。

2. Hibernate的优点有哪些?- 简化开发:Hibernate提供了对象与数据库表之间的映射,开发人员可以使用面向对象的方式操作数据库,大大简化了开发工作。

- 高度可移植性:Hibernate是基于标准的Java持久化API(JPA)开发的,可以在不同的数据库中使用,而不需要更改代码。

- 性能优化:Hibernate提供了缓存机制、延迟加载等功能,可以提高应用程序的性能。

- 强大的查询语言:Hibernate提供了HQL,可以通过面向对象的方式查询数据库,具有更好的灵活性和可读性。

3. Hibernate中的Session和SessionFactory有什么区别?- Session:Session是Hibernate与数据库交互的核心接口,它代表了一次与数据库的会话,负责数据库的增删改查操作。

- SessionFactory:SessionFactory是一个重量级的对象,负责创建Session对象,通常在应用程序启动时创建,并在应用程序关闭时销毁。

SessionFactory是线程安全的,可以被多个线程共享。

4. Hibernate中的对象状态有哪些?Hibernate中的对象状态包括:- 瞬时态(Transient):当一个对象被创建时,它处于瞬时态。

Hibernate内部测试-笔试试卷

Hibernate内部测试-笔试试卷

《使用Hibernate开发租房系统》内部测试-笔试试卷一、选择题(共25题,每题4分,满分100分)1.下面不属于持久化的是()。

A.把对象转换为字符串的形式通过网络传输,在另一端接收到这个字符串后能把对象还原出来B.把程序数据从数据库中读出来C.从XML配置文件中读取程序的配置信息D.把程序数据保存为文件2.下面()不属于关系—对象映射的映射信息。

A.程序包名到数据库库名的映射B.程序类名到数据库表名的映射C.实体属性名到数据库表字段的映射D.实体属性类型到数据库表字段类型的映射3.下面()不是Hibernate 映射文件中包含的内容。

(选两项)A.数据库连接信息B.Hibernate 属性参数C.主键生成策略D.属性数据类型4.下面的程序执行后没有报错,但数据总保存不到数据库,最可能的原因是()。

public static void main(String[] args) {SessionFactory sf =new Configuration().configure().buildSessionFactory();Session session = sf.openSession();Medal medal = new Medal();medal.setOwner("Shen Baozhi");medal.setSport("Table Tennis-Women's Singles");medal.setType("Gold Medal");session.save(user);session.close();}A.配置文件配置有误B.没有在配置文件中包含对映射文件的声明C.映射文件配置有误D.没有开启事务5.下列属于多对一关系的是()。

(选两项)A.书和作者B.手机和生产厂家C.用户和发布的出租信息D.士兵和班长6.下面是某系统中的两个实体类,依此可以得知()。

hibernate复习题1

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考试题及答案

hibernate考试题及答案一、单选题(每题2分,共10分)1. Hibernate中的对象状态有以下几种?A. 瞬时态B. 持久态C. 游离态D. 以上都是答案:D2. Hibernate中哪个接口负责事务管理?A. SessionB. TransactionC. SessionFactoryD. Configuration答案:B3. 在Hibernate中,以下哪个注解用于指定类与表的映射关系?A. @EntityB. @TableC. @ColumnD. @Id答案:A4. Hibernate中的延迟加载技术是通过以下哪个接口实现的?A. SessionB. CriteriaC. QueryD. StatelessSession答案:D5. Hibernate中,以下哪个是正确的主键生成策略?A. IDENTITYB. SEQUENCEC. AUTOD. 以上都是答案:D二、多选题(每题3分,共15分)1. Hibernate中支持的关联关系有哪些?A. 一对一B. 多对一C. 多对多D. 一对多答案:A, B, C, D2. 在Hibernate中,哪些是有效的缓存策略?A. 一级缓存B. 二级缓存C. 查询缓存D. 会话缓存答案:A, B, C3. Hibernate中,哪些是有效的查询方式?A. HQL查询B. SQL查询C. Criteria查询D. Query查询答案:A, B, C, D4. Hibernate中,以下哪些是有效的集合映射类型?A. SetB. ListC. BagD. Map答案:A, B, C, D5. 在Hibernate中,以下哪些是有效的事务管理策略?A. 声明式事务B. 编程式事务C. 自动提交事务D. 手动提交事务答案:A, B三、判断题(每题1分,共5分)1. Hibernate是一个半自动ORM框架。

(错误)2. 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属性值不可以使用()。

Hibernate试题

Hibernate试题

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、下面关于数据持久化概念的描述,错误的是()。

hibernate练习题

hibernate练习题

问答题:
1.hibernate的三种状态之间如何转换
2.如何在控制台看到hibernate生成并执行的sql
3.Hibernate工作原理及为什么要用?
4.Hibernate是如何延迟加载?
5.说下Hibernate的缓存机制?
6.Hibernate的查询方式有几种,分别简述。

7.谈谈Hibernate中inverse的作用
8.hibernate hbm2ddl.auto做属性以及表示的作用
9.hibernate 格式化sql语句的配置
10.常用的hibernate注解以及意义。

练习题:
搭建hibernate框架,使用注解的方式实现对单表的增删改查操作,以及两张表的联合查询。

表:student 字段
表:classroom
注:无需创建主外键之间的关系,只需hibernate配置两张表的关联关系
1.实现对学生表的增删改查,用4个方法。

2.实现两表的关联查询学生的cid关联classroom表的cid。

Hibernate机试试卷1

Hibernate机试试卷1

《使用Hibernate开发租房系统》内测机试(三)题目:图书信息管理系统一、语言和环境A、实现语言JavaB、环境要求JDK1.6、MyEclipse、Tomcat7.*、Oracle11g二、功能要求使用Hibernate实现图书信息管理功能,Oracle11g作为后台数据库,该系统包括查看图书信息列表和新增图书信息两大功能,具体要求如下:打开图书信息列表页面,以列表方式显示所有图书信息,列表使用隔行变色样式,并实现分页功能。

程序运行界面如图-1所示。

图-1在图书信息列表页面下面,有新增图书超链接,进入新增图书信息页面。

如图-2所示。

在新增图书页面中,图书类别设置为下拉列表选项,下拉列表的值为“选择所属分类、计算机/软件、小说/文摘、杂项”,默认下拉列表框显示为“选择所属分类”。

图-2点击“增加图书”按钮后。

提交表单时使用JavaScript对图书的名称、作者以及购买时间和图书分类进行验证,如图-3,图-4所示。

图-3图-4图书信息填写完整后,点击增加按钮,进行图书信息增加,显示添加后的图书信息,列表右上方显示“添加图书信息成功”的提示语句。

如图-5所示。

图-5三、数据库设计数据库表名称及要求:四、具体要求及推荐实现步骤1、建立数据表BookManage,创建序列,添加测试数据(至少3条)2、使用MyEclipse创建Web项目BookManage,导入数据库驱动包和Hibernate的jar包,在源文件夹中创建3个包:entity包用于存放持久化类,dao包用于存放数据访问接口和实现类,biz包用于存放业务逻辑接口和实现类,web包用于存放Servlet类。

3、创建持久化类和对应的映射文件A、编写BookManage表对应的持久化类BookManageB、编写持久化类的映射文件BookManage.hbm.xml4、创建DAO接口及其实现类。

在实现类中使用Hibernate完成相关数据库操作。

hibernate面试题及答案

hibernate面试题及答案

hibernate面试题及答案hibernate面试题及答案求职应聘,面试技巧的预备是必不行少的环节。

快来学习hibernate面试题及答案啦,增加面试通过率,阳光网我带你一起学习。

hibernate面试题及答案(一)一. Hibernate工作使用步骤?1. 读取并解析配置文件2. 读取并解析映射信息,创建SessionFactory3. 打开Sesssion4. 创建事务Transation5. 长期化操作6. 提交事务7. 关闭Session8. 关闭SesstionFactory二.Hibernate的查询方式有几种?(1)导航对象图检索方式。

依据已经加载的对象,导航到其他对象。

(2)OID查询方式。

依据对象的OID来查询对象。

Session的get()和load()方法。

(3)HQL查询方式。

HQL是面对对象的查询语言,session的find()方法用于执行HQL查询语句。

可以利用Query接口。

Query query = session.createQuery("from Customer as c where =: customerName');query.setString("customerName','张三'); List resultList = query.list();(4)QBC查询方式。

这种API封装了基于字符串形式的查询语句。

Criteria criteria = session.createCriteria(User.class); Criterion criterion1 = Expession.like("name','T%');Criterion criterion2 = Expession.eq(age,new Integer(30));criteria = criteria.add(criterion1);criteria = criteria.add(criterion2);List resultList = criteria.list();这种查询方式使用的较少,主要是在查询中需要用户输入一系列的查询条件,假如接受HQL查询代码会比较烦。

Hibernate复习题1含答案

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.加载解析配置文件,
2.读取并解析映射信息,创建SeesionFactory
3.打开Session
4.开启事务
5.数据库的操作
6.事务提交或回滚
7.关闭Session
5.Hibernate中实体对象的状态有哪几种?
自由状态,持久化状态,游离状态
6.Session接口常用的方法有哪些?
13.什么是连接池?其工作原理是?
JDNI,就是创建和管理连接的一种技术
实现在内存中加载一定数量的连接,当程序请求连接时直接提供给程序使用,使用完毕后不会关闭连接,而是放回内存,以供其他程序请求使用
优点:减少创建连接的时间,简化编程模式,受控的资源使用
14.什么是缓存?缓存的优缺点?Hibernate的缓存分几种?
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
17."hibernate.dialect"属性的作用是什么?
方言,就是区别数据库的作用
缓存是位于应用程序和数据源之间的,用来存放临时复制数据的内存区域,其目的的为了减少数据源的访问次数,提高系统性能
优点:提高访问效率,提高系统性能
缺点:
一级缓存,二级缓存,查询缓存
15.hibernate.cfg.xml和User.hbm.xml分别是干什么的?
hibernate.cfg.xml----hibernate 配置文件

Hibernate-测试题目

Hibernate-测试题目

--------------------------------------装--------------------------------------订------------------------------线----------------------------------------**学院课程考试试卷课程名称:《Hibernate:使用Hibernate&EJB开发持久层企业及应用》(A)卷年级:班级:姓名:_______________ 学号:_________________ 考试(考查) 闭卷题号1-20 21-40 41-50 总分分数选择题(每题2分,共计100分)1.在三层结构中,数据访问层承担的责任是()。

BA.定义实体类B.数据的增删改查操作...C.业务逻辑的描述D.页面展示和控制转发2.下面关于Hibernate的说法,错误的是()。

CA.Hibernate是一个“对象-关系映射”的实现B.Hibernate是一种数据持久化技术C.Hibernate是JDBC的替代技术…D.使用Hibernate可以简化持久化层的编码3.Hibernate配置文件中,不包含下面的()。

[选两项]A.“对象-关系映射”信息…B.实体间关联的配置…C.show_sql等参数的配置D.数据库连接信息4.在Hibernate关系映射配置中,inverse=true属性的含义是( C )。

A.定义在<one-to-many>节点上,声明要负责关联的维护B.声明在<set>节点上,声明要对方负责关联的维护…C.定义在<one-to-many>节点上,声明对方要负责关联的维护D.声明在<set>节点上,声明要负责关联的维护5.在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下面方法可行的是( B )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

**学院课程考试试卷课程名称:《Hibernate:使用Hibernate&EJB开发持久层企业及应用》(A)卷年级:班级:姓名:_______________ 学号:_________________ 考试(考查) 闭卷题号1-20 21-40 41-50 总分分数选择题(每题2分,共计100分)1. 一个持久化类的实例可能存在的状态有()。

[选三项]A.瞬态 B.持久态 C.隔离态 D.游离态2. 面向对象概念中的对象与面向关系概念中的()相对应。

A.表 B.表的行 C.表的列 D.表中行的数据3. 下面说法正确的是()。

[选三项]A.Hibernate是一个开放源代码的对象关系映射框架B.Hibernate是对JDBC进行了轻量级的对象封装C.Hibernate可以大大减少操作数据库的工作量D.Hibernate提供了数据查询机制,但没有提供恢复机制4. JDBC编程的缺点( acd)。

[选三项]A.实现业务逻辑的代码和数据库访问代码掺杂在一起,使程序结构不清晰,可读性差B.在程序代码中嵌入面向关系的SQL语句,使开发人员能完全运用面向对象的思维来编写程序C.业务逻辑和关系数据模型绑定,如果关系数据模型发生变化,例如修改了CUSTOMERS表的结构,那么必须手工修改程序代码中所有相关的SQL语句,这增加了维护软件的难度D.如果程序代码中的SQL语句包含语法错误,在编译时不能检查这种错误,只有在运行时才能发现这种错误,这增加了调试程序的难度--------------------------------------装--------------------------------------订------------------------------线----------------------------------------5. Hibernate 映射文件中<generator>子元素用来设定标识符生成器,下面哪些是Hibernate 提供的内置实现( ABD )。

[选三项] A .hilo B .native C .assign D .indentity6. 关于SessionFactory 说法不正确的是( )。

[选两项]BCA .它是线程安全的B .它不是线程安全的C .它是轻量级的D .一个SessionFactory 实例对应一个数据库 据存储源7. 关于Session 说法正确的是( BCD )。

[选三项]A .它是线程安全的B .它不是线程安全的C .它是轻量级的D .Session 也被称为持久化管理器,它 提供了和持久化相关的操作8. 关于Configuration 说法正确的是()。

[选三项]ABDA .Configuration 类的构造方法把默认路径下的hibernate. cfg.xml(或hibernate.properties)配置文件中的配置信息读入 到内存B .Configuration 对象用于配置且启动HibernateC .获得Configuration 的方法:Configuration config = n ew Configuration();///··.config()D .Hibernate 应用通过Configuration 实例来指定对象-关系 映射文件的位置或者动态配置Hibernate 的属性9. 关于Transaction 说法正确的是( )。

[选三项]ABDA .事务Transaction 为应用程序指定以原子操作单元范围的对象B .在做对数据库的增加、修改和删除时一定要加上TransactionC .在做对数据库的查询时一定要加上TransactionD .获得Transaction 的方法:Transaction tr = session.begin Transaction();10. 如果数据库是MySql 或者SQLServer ,generator 属性值不可以用下面哪个()。

C////sequence是序列,主要是oracle ,db2使用A.hilo B.native C.sequence D.indentity11. 下列写法正确的是()。

[选两项]BCA.String hql = "from com.hr.g3.persist.dept as model";B.String hql = "from com.hr.g3.persist.Dept ";C.String hql = "from Dept as model";D.String hql = "from dept ";12. 关于HQL查询,下面说法中正确的有()。

[选三项]BCDA.HQL查询的select子句中不需区分大小写B.HQL支持统计函数C.HQL支持仅查询对象的某几个属性,查询结果保存于Object数组中D.HQL查询为官方推荐查询方式13. 在Hibernate中,下面代码实现了对Book实体中title属性的模糊查询,选项中说法正确的是()。

BSession session=this.getSession();String hql=”from Book model where model.title like ?;” //(1)Query query = session.createQuery(hql); //(2)query.setString(0,”%老余%”); //(3)List list = query.list(); //(4)A.第(1)行,Book与model之间必须有as关键字B.第(2)行,没有错误C.第(3)行应该为:query.setString(0,”老余”);D.第(4)行应该为:List llist = query.executeQuery();14. 三层结构是如今最为典型的一种应用软件分层结构,其三层分别为()。

[选三项]ABD A.表现层 B.业务逻辑层C.持久化层 D.数据库系统15. 关于Hibernate,以下说法错误的是()。

--------------------------------------装--------------------------------------订------------------------------线----------------------------------------A .Hibernate 是一个对象-关系映射工具B .在MVC 模式中,Hibernate 属于控制层(数据层)C .Hibernate 就是在JDBC 的方式上进行封装,以简化JDBC 方式繁琐的 编码工作D .在Hibernate 中,可以通过xml 格式的配置文件保存对象-关系的映 射信息16. 在Hibernate 的实体类映射文件中,class 节点下必须由一个id 节点,它的用处是( )。

AA .定义实体的表示属性,对应数据库表的主键B .定义实体类的引用idC .定义实体类对应的数据库表的名字D .定义数据库表的主键17. 以下程序代码对Customer 的name 属性修改了两次tx = session.beginTransaction();Customer customer=(Customer)session.load(Customer.class, new Long(1)); customer.setName("Jack"); customer.setName("Mike"); mit();执行以上程序,Hibernate 需要向数据库提交( )条update 语句。

A .0 B .1 C .2 D .318. 下面不属于持久化的是( )。

A(增删改查都属于持久化)A .把对象转换为字符串的形式通过网络传输,在另一端接收到这个字符 串后能把对象还原出来B .把程序数据从数据库中读出来C .从XML 配置文件中读取程序的配置信息D .把程序数据保存为文件19. 一般情况下,关系数据模型和对象模型之间有哪些匹配关系( )。

[选三项]BCDA.表对应对象(对应类) B.记录对应对象C.表的字段对应类属性 D.表之间的参考关系对应类之间的依赖关系20. 关于HQL与SQL,以下哪些说法正确()。

[选两项]BCA.HQL与SQL没什么差别B.HQL面向对象,而SQL操纵关系数据库C.在HQL与SQL中,都包含select,insert,update,delete语句D.HQL仅用于查询数据,不支持insert,update和delete语句21. 下列选项中,存在多对多关系的是( )。

[选三项]ABDA.老师与学生 B.学生与课程 C.公民与身份证 D.书与作者22. 下列说法正确的是()。

[选两项]BCA.HQL不支持投影查询 B.HQL支持分组查询C.HQL支持投影查询 D.HQL不支持链接查询23. HQL参数绑定写法正确的有()。

[选两项]ADString hql ="from Dept as model where model.deptName =? Andmodel.createDate =? ";A.第一个参数的位置为0 B.第一个参数的位置为1C.设置参数的方法为:setEntity() D.设置参数的方法为:setParameter()24. Criteria查询通过面向对象化的设计将数据查询条件封装为一个()。

AA.对象 B.序列 C.类 D.HQL语句25. Criteria criteria = session.createCriteria(Dept.class);criteria.add(Expression.eq("deptName", "人事部"));对应的HQL语句为()。

CA.String hql = "from Dept";B.String hql = "from Dept as model";C.String hql = "from Dept as model where model.deptName ="+’人事部’”;D.String hql = "from Dept as model where model.deptName = 人事部";26. Expression对象具体描述了查询条件,对应查询限定机制中Expression.lt指的是()。

相关文档
最新文档