




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、综合测试题第1页共6页简述、填空、选择题:1.以下语句中,不正确的有(A )A. select user name,age group by age where age30B. select age, n ame from PersonC . select sex,email from studentD. vs:property value=”$username” /E. 2. Hibernate持久化类常见的主键的生成方式有哪些?assig ned:由应用程序生成iden tity:使用数据库提供的自增长主键机制,如Mysql sequenee:使用数据库提供的 sequenee机制生成主键
2、,女口 oraclenative:由hibernate根据数据库驱动定义,自动选择主键生成机制3.使用Hibernate持久化对象到数据库,持久化完成后,必须通过事务调用commit。则必须通过事务调用方法提交事务才能同步数据库;如果持久化过程发生异常,roolback()_法回滚事务4. 请简述Hibernate中Criteria 查询和HQL查询SQL语言但是又封装了 sql语言HQL 一种面向对象的,Hibernate特有的数据查询语言,类似 底层的操作,使用HQL直接可以对持久化对象按照一定条件进行查询Criteria : Criteria 接口是Hibernate提供的另外一种面向对
3、象的方式查询数据库的APICriteria 对象需要通过Session对象来获得5. 简要描述一下在Hibernate中,事务与各种持久化操作的关系所有操作必须开始事务提交事务6. 在hibernate中持久化对象的生命周期状态中,对于数据库中有数据与之对应,当前没有session关联的对象称为游离/脱管对象;当前有session关联的对象称为持久化对象。_持久化对象在状态更改时,事务提交时会自动更新数据库;对象状态对象。many-to-one持久化类型的成员变量,设置关联外键需要使用该标签的colu mn属性。8. Hibernate单向一对多关联中,必须在主动方映射文件中使用on e-to
4、-ma ny标签来声明关联关系,同时在“一”方持久化类中必须声明一个元素类型为方的成员变量持久化类型的成员变量,设置关联外键需要使用key标签,如果此时希望将控制权由“一”方转移到“多”方,此时应在vset中设置属性inv erse” true ”,如果需要在持久化(Persist)主动方对象的同时持久化被动方对象,此时应该在vset中设置属性cascadetrue9. Hibernate单向一对一关联使用唯一外键处理方式时,需要在主动方映射文件中使用 on e-to-one标签来声明关联关系,并且需要在该标签中设置属性更新后,必须调用updateO方法才能同步数据库的是游离/脱管7. 对于H
5、ibernate单向多对一关联中,必须在主动方映射文件中使用标签来声明关联关系,同时在“多”方持久化类中必须声明一个类型为true11.hibernate 缓存级别分为 session和 sessi onF actory,前者属uni que10. Hibernate映射类型既可以使用Hibernate内置类型,也可以使用Java类型,使用Java类型时需要使用类型的全名,假设有一属性的类型为String类型,则使用Hibernate内置类型时应写成 string;使用Java类型时应写成java.Ia ng.Stri ng于一级缓存,无需设置即可使用,后者属于二级缓存,需要设置才能使用。12
6、.以下关于Hibernate的描述中,不正确的是(C )A.在Hibernate中,处于瞬时状态的实体在数据库中没有数据与之对应B. Hibernate是一种主流的 ORM框架C处于游离状态的实体状态发生改变时,事务提交时会自动更新数据库D创建实体类时必须提供无参构造方法13.以下关于每个具体类一张表的继承映射的描述中,不正确的是(B )A.不符合关系模型的常规设计规则,存在太多冗余字段B.需要在子类映射中添加一个指向父类主键的外键C需要将父类定义为抽象持久化类D只有一个以父类命名的映射文件14.以下关于Hibernate的描述中,不正确的是(C )A.对于持久化类 Employee,其映射文
7、件的是 Employee.hbm.xmlB.在Session关闭前,使用Session的get方法查询到的实体都处于持久化状态C在Hibernate中,处于游离状态的实体状态发生改变时,事务提交时会自动更新数 据库D使用new创建的对象没有进行任何持久化操作时都称为瞬态对象15.以下关于每个继承层次一张表的继承映射的描述中,不正确的是(A )A.允许为子类的成员属性对应的字段定义not null约束B.最简单策略,执行效率最高C需要在数据表中添加额外的区分各个子类的字段D不允许为子类的成员属性对应的字段定义not null约束16.以下关于每个类一张表的继承映射的描述中,不正确的是(D )A.
8、需要在子类映射中添加一个指向父类主键的外键B.允许为子类的成员属性对应的字段定义not null约束C只有一个以父类命名的映射文件D各个类的持久化类中都需要声明一个标识符属性二、编程题现有图一所示的对象模型,使用 Hibernate按以下要求持久化该对象模型。1. 1.根据图一所示的对象模型,分别写出持久化类User和Account两个持久化类的代码。假设持久化类的包为:com.sise.exam.po。第3页共6页说明:1)对象模型中的id为OID,即对象标识符属性。2)在持久化类代码中可以省略属性的setter和getter方法,但省略时需要使用注释语句说明一下。2.根据上面所写的持久类代
9、码,分别写出User.hbm.xml和Account.hbm.xml两个映射文件的映射代码。说明:1)只需写出从vhibernate-mapping标记开始的配置代码2)Name password actNo、bal 和 owner不能为空,且 name的长度为 10, actNo 的长度 为20;3)主键的生成方式是 native。4)在 User.hbm.xml 中设置 inverse=”true”。5)在 User.hbm.xml 和 Account.hbm.xml 中分别设置 lazy=”true” 3.已知用户的数据如图二所示,要求使用hibernate在数据库中插入如图三所示的帐户
10、信息,然后查询主键为1的用户信息,并在控制台中输出如图四所示信息。要求使用面向接口的编程方式实现上述功能。已知接口代码和工具类代码分别如下所示:HibernateDao 接口代码:P ublic in terface Hiber nateDao p ublic void addAcco un t(Acco unt acco un t);p ublic User fin dUserByld(l nteger id);HibernateUtil工具类代码: p ublic class Hiber nateUtil p rivate static ServiceRegistry registry;p
11、 rivate static Sessi onF actory sessi onF actory;private HibernateUtil() staticregistry =new Sta ndardServiceRegistryBuilder().c on figure().build();sessi onF actory=newMetadataSources( registry ).buildMetadata().buildSessi onF actory();p ublic static Sessi on getSessio n()Sessi on sessio n=sessio n
12、F actory.getCurre ntSessio n();retu rn sessi on;李明拥有以下帐户: 帐户编号 1银行帐号 456帐户余额;66678.5idusenarnepflssAordidCtfto收血1帐户编号;212345S卜45S60,51银行帐号.1232 PS(5432121230,51帐户余额;1698.5图二用户信息图三添加的帐户信息图四控制台输出结果(1)接照上述要求及所给的接口和工具类,写出接口实现类HibernateDaolmpl 代码(2)以下是测试类HiberanteTest代码,根据addAccount()和loadUser()方法中的注释,补 充代码,分别实现帐户信息的插入和用户信息查询功能。P ublic class Hiber nateTest p rivate static Hiber nateDao hiber nateDao=new Hiber nateDaol mp 1();p ublic static void main( Stri ng args) a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论