最新Hibernate考试试卷
Struts2+Hibernate机试试卷
内部测试-机试试卷
一、功能要求
采用Struts 2 +Hibernate开发基于WEB的学员管理系统。
具体要求如下:
(1)学员列表页面:要求显示所有学员的编号,姓名,年龄,所在班级4项和相关操作按钮,如图-1所示。
(2)学员详情页面:需显示编号,姓名,年龄,所在班级。
如图-2所示。
(3)删除学员页面:点击删除按钮,删除掉对应的学员。
(4)修改学员页面:需有编号,姓名,年龄,所在班级。
其中编号和所在班级不可更改。
点击“更新”按钮则提交更新,然后返回列表页面。
点击“返回”按钮则直接返回列表页面。
如图-3所示。
图-1 列表页面
图-2 详情页面
图-3 修改页面
(5)点击“增加学生”超链接,进入增加学生页面,其中所属班级是从班级表中查询出来的
注:图上的“查询学生”不需要做!
二、数据库设计
三、具体要求及推荐实现步骤
1、数据库使用Mysql,使用Struts2+Hibernate集成开发
2、时间:100分钟以内
3、将Mysql数据库文件及整个程序放到一个文件夹下,文件夹命名格式为”学号+姓名”,将文件夹打包后提交到学习委员处!。
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开发租房系统》内部测试-笔试试卷一、选择题(共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.下面是某系统中的两个实体类,依此可以得知()。
hibernatemybatis内部测试笔试题
ACCP7.0内部测试学期: Y2 模块:Java考试时间: 50分钟总分数:100分注意:1、请勿在试卷上留下笔迹2、交卷时试题和答案均要上交《使用Hibernate开发租房系统》内部测试笔试题一、选择题(共25题,每题2.5分,选择一项或多项,漏选错选不得分)1.在Hibernate中,以下关于主键生成器说法错误的是()。
A.increment可以用于类型为long、short或byte的主键B.identity用于如SQL Server、DB2、MySQL等支持标识列的数据库C.sequence用于如Oracle、SQL Server等支持序列的数据库D.native由Hibernate根据底层数据库自行判断采用何种主键生成策略,是由使用的数据库生成主键的值2.在Hibernate中,关于脏检查和刷新缓存说法正确的是()。
A.当事务提交时,会发生脏检查B.Session的flush( )方法是刷新缓存的方法C.在执行Session的commit( )方法之前不会调用Session的flush( )方法D.编写代码时,调用commit( )方法之前要调用flush( )方法3.使用HQL查询所有部门信息,以下正确的是()。
A.from DeptB.select * from cn.jbit.demo.entity.DeptC.select Dept from cn.jbit.demo.entity.Dept dD.select d from Dept d4.关于Query接口的list( )和iterate( )方法,说法正确的是()。
A.执行list( )方法,查询所有符合条件的记录B.执行iterate( )方法,查询所有符合条件的记录C.执行list( )方法,查询出所有符合条件的主键值D.执行iterate ( )方法,查询出所有符合条件的主键值5.在HQL中,关于Query接口绑定参数的方法,说法正确的是()。
Hibernate最新练习题
Hibernate练习题1.一般情况下,关系数据模型与对象模型之间有哪些匹配关系(多选)ABCA)表对应类B)记录对应对象C)表的字段对应类的属性D)表之间的参考关系对应类之间的依赖关系2.试述load()和get()的区别。
1.从返回结果上对比:load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null2.从检索执行机制上对比:get方法和find方法都是直接从数据库中检索而load方法的执行则比较复杂首先查找session的persistent Context中是否有缓存,如果有则直接返回如果没有则判断是否是lazy,如果不是直接访问数据库检索,查到记录返回,查不到抛出异常如果是lazy则需要建立代理对象,对象的initialized属性为false,target属性为null 在访问获得的代理对象的属性时,检索数据库,如果找到记录则把该记录的对象复制到代理对象的target上,并将initialized=true,如果找不到就抛出异常。
hibernate对于load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;而对于get方法,hibernate一定要获取到真实的数据,否则返回null。
3.简述使用Hibernate完成持3久化操作的3个准备和7个步骤。
1.创建Congfigure对象。
读取并解析配置文件(相当于使用数据源(DataSource)获取连接前读取DataSource的配置文件):Configuration conf=new Configuration().configure();2.读取并解析映射信息,创建SessionFactory(相当于创建了数据源(DataSource)对象),它是产生Session 对象实例的工厂,它是唯一的。
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考试题及答案一、单选题(每题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支持多数据库方言。
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属性值不可以使用()。
hibetnate试题
hibetnate试题1.若数据库是Oracle或者DB2,则以下generator属性值不能使用的是(B)。
A.nativeB.indentityC.hiloD.sequence2.Hibernate增加数据时可以调用session的(AC)方法。
A.saveB.updateC.deleteD.saveOrUpdate3.使用Hibernate技术实现数据库持久化时,一下不在Hibernate 配置文件中的是(D).A.数据库连接信息B.数据库类型(Dialect)C.show_sql参数D.数据库表及实体的映射信息4.Hibernate对JDBC访问数据库的代码进行封装,从而大大简化了数据访问层的重复性代码,是针对三层架构中(B)的解决方案。
A.表现层B.业务逻辑层C.持久化层D.数据库系统5.三层结构是如今最为典型的一种应用软件分层结构,三层分别为(ABD)A.表现层B.业务逻辑层C.持久化层D.数据库系统6.ORM解决的主要问题就是对象-关系的映射,以下关于面向对象概念与面向关系概念的对应关系说法正确的是(AC)A.类对应表B.对象对应表C.属性对应表的列(字段)D.属性对应表表的行(记录)7.关于依赖注入,以下说法正确的是(CD)A.依赖注入是一种设计开发模式B.依赖注入使得组件之间相互依赖,互相制约C.依赖注入提倡使用接口编程D.依赖注入使得可以独立开发各个组件,然后根据组件之间的依赖关系组装8.级联删除时,cascade属性是(AC)。
A.allB.saveC.deleteD.save-update9.cascade的属性值有(ACD)A.allB.saveC.deleteD.save-update10.inverse属性值为(C)是标识主控方。
A.allB.falseC.trueD.none11.从性能考虑,inverse属性值一般设置为(C)A.allC.trueD.none12.使用Hibernate是Teacher,Student类的代码如下:public class Teacher{private int teacherId;private String teacherName;//getter,setter方法……}public class Student{private int StudentId;private String StudentName;private Teacher teacher;//getter,setter方法}在Student.hbm.xml映射文件中,下列配置代码正确的是(D)。
题库
考试题库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&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机试试卷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-考试题
一.填空题:1. 对象关系映射(ORM)的基本原则是:类型(class)映射(),属性(property)映射(),关联关系(association)映射(),类型的实例或对象(instance | object)映射()。
2. Hibernate应用通常由四个部分组成,它们是使用Hibernate API 的程序和(、、)。
3. Hibernate应用缺省的XML格式的配置文件名是(), 放置在()下;该配置文件的根元素是(),根元素的子元素是();配置数据库方言的属性名是();配置数据库连接的四种属性名是(、、、);配置映射资源的元素是(),如果映射用XML文件表示,用属性()表示,如果映射用标注(annotation)表示,用属性()表示。
4. Hibernate XML映射文件的根元素是();此根元素下主要的子元素是();映射实体类中表示主键的属性的元素是();映射实体类中普通属性的元素是();映射一对一关联关系的元素是();映射多对一关联关系的元素是();表示多对多关系用集合元素,这些集合元素是();描述外键用元素(); 如果一个类型不是实体,但它是某个实体的组成部分,我们用元素()表示;在描述继承关系时,如果用一张表对应整个类层次结构子类型用元素()描述,如果每个子类型对应各自的表子类型用()描述,如果只有真正的可实例化的子类型才对应表则子类型可用元素()或元素()描述;代表双向关联关系时表示是否维护表中外键关系的属性名是();代表级联操作的属性名是();使用乐观锁时我们通常会在实体类型中增加一整型或日期型的属性,在影射文件中用元素(或)描述。
5. 在Hibernate XML影射文件中描述主键生成机制用元素(),其属性描述了主键的生成策略,至少写出三种策略名(、、)。
6. 在Hibernate XML影射文件中级连操作的属性值至少写出三个(、、)。
7. 在Hibernate XML影射文件中描述HQL语句所用元素为()。
Struts和Hibernate测试题
1一下关于struts的描述中,不正确的是()A.struts 是一个基于JAVA EE的MVCB.struts2的框架配置文件是struts-configxmlC.struts2的控制组建核心包括核心控制和业务控制器D.在struts中解决中文乱码可以通过修改struts。
I18n。
encoding的值为GBK来实现2.不属于Struts2的动作类的常量返回值的是()A.success B.Input C.Never D.login3.一下不属于Struts2动作执行的结果类型是()a.Action b.Redirect c.RedirectAction d.dispatcher4.在struts.xml中。
假如在一个package中没有配置namespace,那么在其中配置一个Action 名字叫做login,它的result是这样配置的<result>/login.jsp</result>,已知在此配置文件中还有另一个name为user的package其中也有一个Action名字为login,它的result是这样配置的<result>/loginUser.jsp</result>那么在以下什么情况下将能访问到login.jspA.在根路径后输入/loginB.在根路径后输入/user/loginC.在根路径后输入/login/userD.在根路径后输入/abc/login5.正规开发中,在使用struts2时定义Action使用哪种方式。
A.直接定义Action类。
B.从ActionSupport继承。
C.从Action继承。
D.实现Action接口。
6.不同的线程在调用Action时创建几个Action实例。
A.1个B.2个C.每个线程创建1个。
D.可以自定义配置。
7.struts2的体系结构主要包括那几个部分()A.模型层B.struts控制器组件C。
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选择题
Transaction tx1 = session1.beginTransaction();
session1.save(customer); //line4
mit(); //line5
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);
(D)<property>
参考答案:A
11. 在Hibernate中,<set>元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?(D)
A none
B save
C delete
D save-update
参考答案:D
5. 以下哪个选项不是持久化层的对象状态?( B)
A 临时状态
B 独立状态
C 游离状态
D 持久化状态
6. 对于以下程序,Customer对象在第几行变为游离状态?( D)
Customer customer=new Customer(); //line1
customer.setName("Tom"); //line2
B 一个SessionFactory对象对应多个数据库存储源。
C SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据库存储源,只需要创建一个。
Spring,hibernate,struts的面试笔试题(含答案)
组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:
பைடு நூலகம்
☆ 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
工作机制:
Struts的工作流程:
在web应用启动时就会加载初始化ActionServlet,ActionServlet从
struts-config.xml文件中读取配置信息,把它们存放到各种配置对象
当ActionServlet接收到一个客户请求时,将执行如下流程.
-(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;
☆ Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。
Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。
4. 说下Hibernate的缓存机制
1. 内部缓存存在Hibernate中又叫一级缓存,属于应用事物级缓存
2. 二级缓存:
a) 应用及缓存
b) 分布式缓存
Hibernate基础考试题
**学院课程考试试卷课程名称:《Hibernate:使用Hibernate&EJB开发持久层企业及应用》(A)卷年级:班级:姓名:_______________ 学号:_________________ 考试(考查) 闭卷选择题(每题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.定义在<one-to-many>节点上,声明要负责关联的维护B.声明在<set>节点上,声明要对方负责关联的维护…C.定义在<one-to-many>节点上,声明对方要负责关联的维护D.声明在<set>节点上,声明要负责关联的维护5.在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,6.下面方法可行的是(B )。
A.配置客户和订单关联的cascade属性为save-updateB.配置客户和订单关联的cascade属性为all…C.设置多对一关联的inverse属性为trueD.设置多对一关联的inverse属性为false7.下面一对多关联的配置中,存在哪些错误,下列选项判断正确的()。
[选两项]BC<set name="orders" inverse="false" cascade="true"><key><column></></key><one-to-many class="com.scce.pojo.Order"column="customer_id" /></set>A.inverse属性不可以设置为falseB.cascade属性不可设置为true;;;C.class="com.scce.pojo.Order"应为type="com.scce.pojo.Order";;;D.column属性不可再<one-to-many>节点内设置执行下面的hql查询,关于返回值的说法,正确的是()。
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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属性值不可以使用()。
A.hiloB.nativeC.sequenceD.indentity8、在Hibernate中,下列哪个选项不属于Session的方法()。
A.loadB.saveC.openD.delete9、在Hibernate中, generator属性值如果是native,则表示()。
A.由Hibernate自动以自增的方式生成标识符,每次增量为1B.由Hibernate自动以自增的方式生成标识符,每次增量为自定义C.根据底层数据库对自动生成标识符的支持来选择。
D.由Java应用程序负责生成标识符10、Hibernate增加数据的时候,可以调用session的()方法。
【选两项】A.saveB.updateC.addD.saveOrUpdate11、Hibernate对JDBC访问数据库的代码进行了封装,从而大大简化了数据访问层的重复性代码,它是针对三层架构中()的解决方案。
A.表现层B.业务逻辑层C.持久化层D.数据库系统12、Hibernate是一个优秀的Java持久化层解决方案,那么数据的持久化指的是()。
A.数据在程序退出后就不复存在B.数据在程序退出后以文件等形式保存在存储设备中C.数据的内容是不变的,处于静态中D.数据的内容是变化的13、下列选项不属于持久化的是()。
A.将对象转换为字符串的形式通过网络传输,在另一端接收到该字符串后能将对象还原B.将程序数据从数据库中读取出来C.从XML配置文件中读取程序的配置信息D.将程序数据保存为文件14、使用Hibernate 技术实现数据库持久化时,下列()不在Hibernate配置文件中。
A.数据库连接信息B.数据库类型(dialect)C.show_sql参数D.数据库表和实体的映射信息15、在Hibernate中,inverse属性值为()时,会标识被控方。
A.allB.falseC.trueD.none16、在Hibernate中,如果需要标识主控方,则inverse属性值应为()。
A.allB.falseC.trueD.none17、在Hibernate中,从性能方面考虑,inverse属性值通常设置为()。
A.allB.falseC.trueD.none18、Hibernate通过映射文件中的<generator>子元素来设定标识符生成器,下列选项哪些是Hibernate提供的内置实现()。
【选三项】A.hiloB.nativeC.assignD.indentity19、三层结构是一种典型的应用软件分层结构,这三层分别是()。
【选三项】A.表述层B.业务逻辑层C.控制层D.数据层20、持久化技术封装了数据访问的细节,为大部分业务逻辑提供了面向对象的API。
数据持久化具有以下3个方面的特点,分别是()。
【选三项】A.通过持久化技术能够减少访问数据库中数据的次数,提供应用程序速度(?????)B.提高代码的可重用性C.松耦合,使持久化的实现不依赖于底层数据库及上层业务逻辑D.具有更好的可扩展性21、在ORM中,面向对象概念中的对象与面向关系概念中的()相对应。
A.表B.表的行C.表的列D.表中行的数据22、一般情况下,关系数据模型和对象模型之间有哪些匹配关系()。
【选两项】A.表对应对象B.记录对应对象C.表的字段对应类方法D.表之间的参考关系对应类之间的依赖关系23、在Hibernate中,一个持久化类的实例可能存在的状态有哪些()。
【选三项】A.瞬态B.持久态C.隔离态D.游离态24、在Hibernate的映射文件中,id节点的property元素的()表示指定类的属性映射的表的字段名。
A.nameB.typeC.columnD.lazy25、在Hibernate的实体类映射文件中,class节点下必须有一个id节点,其中unsaved-value属性的默认值为()。
A.nullB.noneC.tureD.false26、下列选项关于Configuration的说法不正确的是()。
A.Configuration类的构造方法用于将默认路径下的hibernate.cfg.xml(或hibernate.properties)配置文件中的配置信息读入到内存中B.Configuration对象用于配置并启动HibernateC.获得Configuration的方法:Configuration config = newConfiguration();D.Hibernate应用通过Configuration实例指定对象-关系映射文件的位置或者动态配置Hibernate的属性27、在Hibernate中,当cascade属性值为()时,表示不进行级联操作。
A.allB.noC.noneD.delete28、在Hibernate中,如果需要进行级联删除,则cascade属性值可为()。
【选两项】A.allB.save-updateC.noneD.delete29、在Hibernate中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下列方法可行的有()。
【选两项】A.配置客户和订单关联的cascade属性为save-updateB.配置客户和订单关联的cascade属性为allC.设置多对一关联的inverse属性为trueD.设置多对一关联的inverse属性为false30、在Hibernate中,<set>元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,则cascade属性应该取什么值()。
A.noneB.saveC.save-updateD.delete31、在Hibernate中,Customer类中有一个Set类型的orders属性,用于存放Order订单对象,在Customer.hbm.xml文件中,可以用()元素映射orders属性。
A.<set>B.<one-to-many>C.<many-to-one>D.<property>32、在Hibernate中,下列一对多关联的配置中,存在哪些错误()。
【选两项】<set name="orders" inverse="false" cascade="true"><one-to-many class="com.scce.pojo.Order"column="customer_id" /></set>A.inverse属性不可以设置为falseB.cascade属性不可以设置为trueC.class="com.scce.pojo.Order"应为type="com.scce.pojo.Order"D.column属性不可以在<one-to-many>节点内设置33、在Hibernate的HQL查询中,下列说法正确的是()。
A.可以调用用户自定义函数B.不可以调用用户自定义函数C.支持子查询D.支持分页查询34、在Hibernate的HQL查询中,下列说法不正确的是()。
A.在Hibernate3中,可以使用update、delete子句B.在Hibernate3中,不可以使用update、delete子句C.HQL是基于SQL的D.HQL提供了更多面向对象的封装35、在Hibernate的HQL查询中,setMaxResults(3)方法中参数值3指的是()。
A.从第3条记录开始B.从第4条记录开始C.查询3条记录D.查询4条记录36、在Hibernate的HQL查询中,setFirstResults(3)方法中参数值3指的是()。
A.从第3条记录开始B.从第4条记录开始C.查询3条记录D.查询4条记录37、下面代码的执行效果是()。
String hql = "from TblStudent s order by s.score asc";Query query = session.createQuery(hql);query.setFirstResult(0);query.setMaxResults(5);return query.list();A.返回分数最高的5个学生B.返回分数最高的6个学生C.返回分数最低的5个学生D.返回分数最低的6个学生38、在Hibernate的HQL查询中,下列说法不正确的是()。
A.HQL子句本身的大小写没有差异,但类名和属性名必须区分大小写B.HQL支持where子句C.HQL支持as子句D.where、as关键字区分大小写39、在Hibernate的HQL查询中,有数据库表(dept)对应的对象名称为Dept,下列HQL写法正确的有()。