文档库 最新最全的文档下载
当前位置:文档库 › Hibernate单选题

Hibernate单选题

Hibernate单选题
Hibernate单选题

单选题

1.下面不属于持久化的是(a)

A.把对象转换为字符串的形式通过网络传输,在另一端接收到这个字符串后能把对象还原出来

B.把程序数据从数据库中读出来

C.从XML配置文件中读取程序的配置信息

D.把程序数据保存为文件

2

3.下面(a )不属于关系—对象映射的映射信息。

A.程序包名到数据库库名的映射

B.程序类名到数据库表名的映射

C.实体属性名到数据库表字段的映射

D.实体属性类型到数据库表字段类型的映射

4.使用Hibernate技术实现数据库持久化时,(d)内容不在Hibernate配置文件中。

A. 数据库连接信息

B. 数据库类型

C. show_sql参数

D. 数据库表和实体的映射信息

5.数据库表account对应实体类为Account类,以下HQL语句错误的有( d)。

A. select * from Account

B. From Account

C. From Account as model

D. Select * from account

6.级联删除时,cascade属性是( c )。

A. all

B. save

C. delete

D. save-update

7.以下不属于Cascade的属性取值的有( b )。

A. all

B. save

C. delete

D. save-update

8.关于HQL查询,下列说法中错误的是( A )。

A. HQL查询的select子句中必须区分大小写

B. HQL支持统计函数

C. HQL支持仅查询对象的某几个属性,并将查询结果保存在Object数组中

D. HQL语句可以实现类似于PreparedStatement的效果

9.由持久化状态向游离状态转变的方法不包括( C)。

A. 临时状态

B. 无引用状态

C. 持久化状态

D. 游离状态

10.关于HQL与SQL,以下哪些说法正确?(B)。

A. HQL与SQL没什么差别

B. HQL面向对象,而SQL操纵关系数据库

C. 在HQL与SQL中,都包含select,insert,update,delete语句

D. HQL仅用于查询和删除数据,不支持insert,update语句

11.下面关于Hibernate说法正确的是(BD)。(选择两项)

A. Hibernate是ORM的一种实现方式

B. Hibernate不要JDBC的支持

C. 属于控制层

D. 属于数据持久层

12.下面关于Hibernate中load和get方法说法正确的是(D)。

A. 这两个方法是一样的,没有任何的区别

B. 这两个方法不一样,laod先找缓存,再找数据库

C. 这两个方法不一样,get先找缓存,再找数据库

D. 以上说法都不对

13.关于Hibernate中关系的说话正确的是(A)。

A. 一对多必须用Set来映射

B. 多对一必须用Set来映射

C. 一对多可以用Set来映射,也可以用List、Map来映射

D. 多对一可以用Set来映射,也可以用List、Map来映射

14.以下关于SessionFactory的说法哪些正确?( C)。

A. 对于每个数据库事务,应该创建一个SessionFactory对象

B. 一个SessionFactory对象对应多个数据库存储源

C. SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据库存储源,只需要创建一个

D. SessionFactory的load()方法用于加载持久化对象

15.在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下面方法可行的是(A)。

A. 配置客户和订单关联的cascade属性为save-update

B. 配置客户和订单关联的cascade属性为all

C. 设置多对一关联的inverse属性为true

D. 设置多对一关联的inverse属性为false

16

在三层结构中,数据访问层承担的责任是()

a)定义实体类

b)数据的增删改查操作

c)业务逻辑的描述

d)页面展示和控制转发

17

下面关于数据持久化概念的描述,错误的是()〔选择一项〕

a)保存在内存中数据的状态是瞬时状态

b)持久状态的数据在关机后数据依然存在

c)数据可以由持久状态转换为瞬时状态

d)将数据转换为持久状态的机制称为数据持久化

18.下面(ab)不是Hibernate 映射文件中包含的内容。(选两项)

A.数据库连接信息

B.Hibernate 属性参数

C.主键生成策略

D.属性数据类型

19.Hibernate对象从临时状态到持久状态转换的方式有?( A)。

A. 调用session的save方法

B. 调用session的close方法

C. 调用session的clear方法

D. 调用session的evict方法

20 下面关于Hibernate的说法,错误的是()〔选择一项〕

a) Hibernate是一个“对象-关系映射”的实现

b) Hibernate是一种数据持久化技术

c) Hibernate是JDBC的替代技术

d) 使用Hibernate可以简化持久化层的编码

21 Hibernate配置文件中,不包含下面的()〔选择二项〕

a) “对象-关系映射”信息

b) 实体间关联的配置

c) show_sql等参数的配置

d) 数据库连接信息

21 下面不是Hibernate映射文件中包含的内容。(选两项)

a) 数据库连接信息

b) Hibernate属性参数

c) 主键生成策略·

d) 属性数据类型

22 在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所

有订单数据,下面方法可行的是()。〔选择一项〕

a) 配置客户和订单关联的cascade属性为save-update

b) 配置客户和订单关联的cascade属性为all

c) 设置多对一关联的inverse属性为true

d) 设置多对一关联的inverse属性为false

23 以下程序的打印结果是什么?

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);

https://www.wendangku.net/doc/7514816511.html,mit();

session.close();

a) 运行出错,抛出异常

b) 打印false

c) 打印true

d) 编译出错

24 对于以下程序,Customer对象在第几行变为持久化状态?(单选)

Customer customer=new Customer();

customer.setName(\"Tom\");

Session session1=sessionFactory.openSession();

Transaction tx1 = session1.beginTransaction(); //line1

session1.save(customer); //line2变为持久化

https://www.wendangku.net/doc/7514816511.html,mit(); //line3

session1.close(); //line4变为游离态

a) line1

b) line2

c) line3

d) line4

25 ORM有什么好处

a) 能进行关系对象的映射

b) 具有控制器功能

c) 能在服务器端保存客户端状态

d) 向DTO一项能传递数据

26 过程域对象在Hibernate中代表

a) 业务逻辑操作

b) 应用层操作

c) 数据库层操作

d) 组件对象操作

27 使用Session的____会把对象的状态从数据库中移除

a) delete()

b) remove()

c) clear()

d) removeAll()

5.下列属于多对一关系的是(bd )。(选两项)

A.书和作者

B.手机和生产厂家

C.用户和发布的出租信息

D.士兵

在set节点中设置"outer-join="true"",当调用Session的find方法时采用( C)。

A. 立即检索

B. 延迟检索

C. 迫切左外连接检索

D. 批量检索

以下哪一种检索策略利用了外连结查询?(单选)

a) 立即检索

b) 延迟检索

c) 迫切左外连结检索

d) 迫切右外连结检索

43.下面关于Hibernate中Transaction的使用说法正确的是(B)。

A. Transaction是可有可无的

B. Transaction在做查询的时候是可选的

C. Transaction在做删除的时候是可选的

D. Transaction在做修改的时候是可选的

23) POJO是

a) Plain Old Java Object

b) Programming Object Java Object

c) Page Old Java Object

d) Plain Object Java Old

24) POJO的作用是

a) 普通的Java对象映射数据库字段

b) 数据访问

c) 对象的赋值

d) 保存客户端对象

25) 实现equals和hashCode最显而易见的作用是

a) 比较两个对象标识符的值

b) 比较数据库的两条数据

c) 比较两个组建是否部署在同一个应用服务器上

d) 对象与字段的映射

33) JDBC可以做哪三件事

a) 与数据库建立连接

b) 通过JDBC-API向数据库发送SQL语句

c) 通过JDBC-API执行SQL语句

d) 进行实体关系的映射

38) 对象(实体的实例)对一个特定的Session来说,要么是一个____对象,要么是____

对象

a) 瞬时

b) 持久化

c) 控制器

d) 数据传输对象

39) 如果你已知某个实例的持久化标识,你可以使用Session的______方法来获取它

a) load()

b) loadAll()

c) getAllData()

d) init()

44) ____和____子句都不支持算数表达式。

a) group by

b) order by

c) compute by

d) insert by

45) 除了____和____外,查询语句都是大小写不敏感得到。

a) Java类

b) POJO类

c) 映射文件

d) 属性名称

46) from Cat as cat,不仅仅返回____的实例,而且还返回____的实例

a) Cat

b) Cat父类

c) Cat子类

d) Cat实现接口

54) 在Hibernate中,关于数据库的方言,下面哪个说法是正确的

a) 可以不写数据库方言

b) 数据库方言没有作用,可以随便写

c) 有通用的数据库方言可以使用

d) 数据方言对应于每个数据库,主要用于产生SQL语句

57) 下面的程序执行后没有报错,但数据总保存不到数据库,最可能的原因是

public static void imain(String[] args){

SessionFactory sf=new Configration().configure().buildSessionFactory();

Session session=sf.openSession();

Medal medal=new Medal();

medal.setOwner(“totong”);

medal.setType(“Gold medal”);

session.save(user);

session.close();

}

a) 配置文件配置有误

b) 没有在配置文件中包含对映射文件的声明

c) 配置文件配置有误

d) 没有对持久化操作捕捉异常

e) 没有开启事务

59) 已知wage.getItem().size()的值是1。要想使执行session.update(wage)时自动执行

session.update(wage.getItems().get(0)),必须配置

a)

b)

c)

d)

60) 已知系统中的tbl_user表对应的实体类是User,下列HQL语句中正确的是(选两项)

a) from User

b) select * from tbluser

c) select User from User

d) from User u where u.uname=”15”

Java工程师面试题(三大框架)

Java工程师(程序员)面试题 Struts,Spring,Hibernate三大框架的面试 1.Hibernate工作原理及为什么要用? 原理:1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory 3.打开Session 4.创建事务Transation 5.持久化操作6.提交事务7.关闭Session 8.关闭SesstionFactory 为什么要用:1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 2.Hibernate是如何延迟加载? 1. Hibernate2延迟加载实现:a)实体对象b)集合(Collection) 2. Hibernate3 提供了属性的延迟加载功能当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。 3.Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many 4.Struts1流程: 1、客户端浏览器发出HTTP请求。 2、根据web.xml配置,该请求被ActionServlet接收。 3、根据struts-config.xml配置,ActionServlet先将请求中的参数填充到ActionForm中,然后ActionServlet再将请求发送到Action 进行处理。 4、是否验证,需要验证则调用ActionForm 的validate方法,验证失败则跳转到input,成功则继续。 5、Action从ActionForm获得数据,调用javabean 中的业务方法处理数据。 6、Action返回ActionForward对象,跳转到相应JSP 页面或Action。 7、返回HTTP响应到客户端浏览器。 MVC设计模式:modal:“模型”也称业务逻辑,是正真完成任务的代码,相当与JavaBeanview:视图,其实就是显示界面,相当于JSPcontroller:控制器,他控制模型和视图的交互过程,相当于servletstruts1是基于MVC设计模式hibernate是基于ORM对象关系映射 5.struts是什么? struts1是基于JSP和servlet的一个开源的Web应用框架,使用的是MVC的设计模式struts2是基于webwork技术的框架,是sun和webwork公司联手开发的一个功能非常齐全的框架,struts2和struts1没有任何关系,是一个全新的框架 6.spring是什么? spring是一个集成了许多第三方框架的大杂烩,其核心技术是IOC(控制反转,也称依赖注

《JavaEE》课程设计报告实验

《JavaEE》课程设计报告 题目名称:基于struts2、Spring、Hibernate 构建一个网上投票系统 指导教师:_______ _________ _______ 专业班级:__ ____ ______ _ 组长:________ _____ ______ 成员:__ 娄宇杨浩亮张益民林强 __ __ 电子邮件:____ 15224891@https://www.wendangku.net/doc/7514816511.html,_ ______ _ 设计时间: 2011 年 11 月 16 日至 2011 年 12 月 21 日 成绩:______

目录 基于struts2、Spring、Hibernate构建一个网上投票系统 (3) 一、问题描述及设计思路 (3) 1.1 需求分析 (3) 1.2业务分析 (3) 1.3投票用例 (5) 二、详细设计过程 (8) 2.1 创建Struts2应用 (8) 2.2 添加Hibernate (8) 2.3 添加Spring应用 (9) 2.4 领域模型层设计 (9) 三、结论和体会 (13) 3.1 结论 (13) 3.2 体会 (13) 四、附录 (14) 附录A 其它图表 (14) 附录B 主要程序代码 (15) 五、参考文献 (21)

基于struts2、Spring、Hibernate构建一个 网上投票系统 一、问题描述及设计思路 对于开发一个投票管理系统来说,应该实现什么功能,如何实现这个功能都是开发人员必须了解的问题。将这个系统的需求、业务流程以及用例进行细致的分析、讲解。 1.1 需求分析 随着网络应用的日益普及,投票的形式也发生了很大的变化。目前在很多的场合,投票已经开始由原始方式转变为网上投票。由于具有方便、快捷、成本低、调查范围广等优点,网上投票已经被广泛的应用。如何管理好网上投票信息内容也变得十分的重要,我们所设计开发的投票管理系统,正是基于这种需求诞生的。 本投票管理系统分为用户提供网上投票和投票信息管理两大类功能。通过投票管理功能可以完成增加新投票、修改原有投票信息、查找投票等功能。本系统的界面友好、操作简便,适用于任何网站进行投票调查。 本系统的基本功能如下所述。 ●使用本系统的网上投票功能,用户只要登录指定的网页,就可以进行投票操作,并 可以得到投票结果信息。 ●使用本网站的登录功能,管理员可以登录系统,然后对相关的信息进行管理。 ●使用本系统的创建投票功能,管理员可以创建一个新的投票功能。。 ●使用本系统的管理投票功能,管理员可以对系统已经存在的投票进行更新,包括增 加投票子选项、删除投票子选项、修改投票类型、更改投票状态。 ●使用本系统的查找投票功能,管理员可以通过输入部分或者全部的投票主题查找对 应的投票信息。 ●使用本系统的管理员管理功能,管理员可以修改本人的密码或者创建一个新的管理 员。 ●使用本系统的注销功能,管理员可以安全的退出本系统。 1.2业务分析 投票管理系统由前台和后台两部分组成:前台显示投票并可以执行投票操作,后台是对投票信息和管理员信息进行管理。下面分别从使用前台和使用后台两个角度来分析本系统的业务流程。 1.2.1显示投票 用户进入投票页面如图,进行投票操作。

hibernate面试题

1.Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory 为什么要用: 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 2.Hibernate是如何延迟加载? 1. Hibernate2延迟加载实现:a)实体对象b)集合(Collection) 2. Hibernate3 提供了属性的延迟加载功能 当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。 3.Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many、 4.说下Hibernate的缓存机制 1. 内部缓存存在Hibernate中又叫一级缓存,属于应用事物级缓存 2. 二级缓存: a) 应用及缓存 b) 分布式缓存 条件:数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、非关键数据 c) 第三方缓存的实现

Hibernate3.6(开发必看)

1.Java对象持久化概述 1.1.应用程序的分层体系结构 1.1.1.基于B/S的典型三层架构 说明: 1,展现层:提供与用户交互的界面。 2,业务逻辑层:实现各种业务逻辑。 3,数据访问层:负责存放和管理应用程序的持久化业务数据。 1.1. 2.数据访问层与Hibernate在Java应用程序中的 角色 数据访问层(持久化层)封装了数据访问的细节,为业务逻辑层提供了面向对象的API。完善的持久化层应该达到的目标: 1,代码重用性高,可完成所有的数据访问操作。 2,如果需要的话,能够支持多种数据库平台。 3,具有相对独立性,当持久化层变化时,不会影响上层实现。 在数据访问层(持久化层)中可以使用Hibernate框架以实现要求,如下图所示:

1.2.软件模型 1.2.1.各种模型的说明 概念模型: 模拟问题域中的真实实体。描述每个实体的概念和属性及实体间关系。不描述实体行为。实体间的关系有一对一、一对多和多对多。。 关系数据模型: 在概念模型的基础上建立起来的,用于描述这些关系数据的静态结构。有以下内容组成:1,若干表 2,表的所有索引 3,视图 4,触发器 5,表与表之间的参照完整性

域模型: 在软件的分析阶段创建概念模型,在软件设计阶段创建域模型。 组成部分: 1,具有状态和行为的域对象。 2,域对象之间的关联。 域对象(domain object): 构成域模型的基本元素就是域对象。对真实世界的实体的软件抽象,也叫做业务对象(Business Object,BO)。域对象可代表业务领域中的人、地点、事物或概念。 域对象分为以下几种: 1,实体域对象:通常是指业务领域中的名词。(plain old java object,简单Java 对象)。 2,过程域对象:应用中的业务逻辑或流程。依赖于实体域对象,业务领域中的动词。如发出订单、登陆等。 3,事件域对象:应用中的一些事件(警告、异常)。 1.2.2.域对象间的关系 关联: 类间的引用关系。以属性定义的方式表现。

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;

各公司Java面试题汇总

各公司Java面试题汇总 ★ 表 A 字段m ,n ,x ,y ,其中m,n 为number 类型,x 为字符类型,y 为日期类型 1 、创建表A 并且m 不能重复,n 初始值为0 ,m 、n 、y 不能为空 2 、修改表A 把n 的初始化值改为1 3 、查询表A 中m 大于500 并且y 为前一天的当前时间以前的所有数据 4 、查询表A 中x 字段共有多少种情况,并输出条数大于200 的情况的个数 5 、查询表A 中x 为空并且时间介于当前时间与前一天当前时间的所有数据 6 、往表A 中插入一条数据,令n 值为3,x 值为"xyz",y 值为200 7 年1 月1 日12 点12 分12 秒 7 、删除表A 中所有时间为整点的数据 8 、表B 与表A 有相同的数据结构,怎么样把表A 中的数据倒入表B 中 9 、数据库的锁,概念,形成原因,你所见过的所有数据库中的锁,锁的解决方案? -------------------------------------------------------------------------------------------------------------------- 1 、把“ ab ”“ ef ”“ ij ”“ cd ”“ gh ”放到List 里,然后对此List 快速排序,并打印结果 2 、表File 中有2 个字段file,vcFile,file 为1 的所相关的vcFile 的信息,用jdbc 连接数据库,并打印查询结果的第三条 4 、corba 对象里有一个void corbaPing() 怎样通过返回的一个空对象判断其状态? 5 、corb 中的COS 三种实现。 6 、WTS 的几种实现形, 文字描述即可,无需写代码。 7 、纯java 技术能否实现jmcp 协议? ----------------------------精品word文档值得下载值得拥有----------------------------------------------

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

Hibernate学习入门教程

Hibernate学习入门教程 开发环境搭建 [日期:2015-08-11] 来源:Linux社区作者:doctorJoe [字体:大中小] 其实一两个月前就在了解Hibernate方面的知识了,但一直以来,都没有好好的总结,而且一直使用的是myeclipse,感觉有些傻瓜式的操作就可以搭建起Hibernate的开发环境,但这样一点都不好,没有理解到Hibernate到底是怎么配置的,所以你今天特使用Eclipse来一步一步搭建Hibernate的开发环境,下面,正式进入正题。 在Hibernate中开启日志https://www.wendangku.net/doc/7514816511.html,/Linux/2015-07/120499.htm Hibernate+JUnit测试实体类生成数据库表https://www.wendangku.net/doc/7514816511.html,/Linux/2015-07/120161. htm Hibernate整体理解https://www.wendangku.net/doc/7514816511.html,/Linux/2014-07/104405.htm Hibernate的映射机制https://www.wendangku.net/doc/7514816511.html,/Linux/2014-12/110265.htm 新建一个web项目,名字就随便吧,你喜欢什么名字就什么吧,这是我的截图。

引入hibernate的依赖jar包,我使用的是hibernate-release-4.3.10.Final,下载好后解压,打开压缩包下的lib目录下的require文件夹,这是hibernate的所以来的必须的jar包,接下来,在刚才新建的项目里新建一个libs文件夹,将刚才的所说的jar包copy进去,另外,由于我们需要连接MySQL数据库以及使用JUnit测试,将所需的mysql-connector-java-5.0.8-bin.jar和junit-4.5.jar两个jar包引用进去,关于这些jar包,可以在网上搜索。接下来,就是把这些jar 包添加到编译环境中去,选中libs下的jar包,右击选择Build Path –>Add to Build Path,这样就把依赖jar包成功添加进去了。 继续往下,我们需要配置最重要的hibernate配置文件hibernate.cfg.xml以及进行日志处理的log4j.properties属性文件:打开上一步解压后的hibernate文件夹,打开project—>etc文件夹,将该文件夹下的hibernate.cfg.xml和log4j.properties文件拷贝到项目的src文件夹下,打开hibernate.cfg.xml文件,将session-factory标签中的内容替换成如下的内容: org.hibernate.dialect.MySQLDialect com.mysql.jdbc.Driver jdbc:mysql:///hibernatedemo root yzp140103 这样就配置好了。 接下来,要做的就是做开发测试了:在项目的src目录下新建一个实体类包com.joe.entity,在该包下新建一个实体类Student,代码如下: package com.joe.entity; import java.io.Serializable;

javaWeb面试题(含答案)讲课讲稿

10、Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库。 工作原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory 优点有: 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3、 Hibernate使用Java反射机制而不是字节码增强程序来实现透明性。 4、 Hibernate的性能好,映射的灵活性比较出色。它支持各种关系数据库,从一对一到多 对多的各种复杂关系。 11、hibernate的核心类是什么??重要方法是什么?? Configuration、SessionFactory Session如下方法 Save、 load、 Update、Delete Query q=CreateQuery(“from Customer where customerName=:customerName”) beginTransaction、close、Transaction、Commit() 12、session.load()和session.get()的区别 Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。其区别在于:

实验 五 Hibernate基础实验

实验五Hibernate基础实验 Part one Hibernate对表的添加 实验目的:掌握Hibernate的基本功能和基本用法 实验要求:通过Hibernate将一个Java对象插入到数据库表中 实验原理: (1)Hibernate是一个面向Java环境的对象/关系数据库映射工具,Hibernate不仅管理Java类型到数据库表的映射,还提供查询数据 和操作数据的OO方法。 (2)Hibernate对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲地使用OO编程思想来处理数据库。 (3)Hibernate采用映射元数据来描述对象-关系的映射细节,元数据通常采用XML。 (4)关系数据库中的元组通过ORM转换成应用程序中的对象;反之,应用程序中的对象通过ORM持久化成关系数据库中的元组。 (5)可以利用Hibernate框架根据配置和类及映射文件生成数据库表结构,反过来,也可以根据数据库表结构生成持久化类和映射文 件。 实验准备: 安装SQL Server20XY(如果是Windows XP上的SQL Server2000版,需要加补丁程序SP3)。 实验步骤: 一.创建Java Project TestH3_2 二.创建数据库及数据源 1.在test数据库中创建表News Use test CREATE TABLE news ( id int IDENTITY (1, 1) primary key ,

title varchar (20) NOT NULL , content text ) Go context的长度在Hibernate中可能闲长,不能插入,需改成较短的类型!设计表结构的图形界面如图5-1所示。 图5-1 设计News表结构的图形化界面 2.打开MyEclipse的Database Explore透视图,如图5-2所示。 图5-2 打开Database Explore透视图 3.创建数据库连接驱动,如图5-3所示。找到jtds-1.2.jar包所在位置。点击Add JARS,把该包包含进去即可。注意:SQL Server的Driver template 选Microsoft SQL Server(jTDS Driver)。

Hibernate-D1 试题

**学院课程考试试卷课程名称:《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 映射文件中子元素用来设定标识符 生成器,下面哪些是Hibernate 提供的内置实现( ABD )。[选三项] A .hilo B .native C .assign D .indentity 6. 关于SessionFactory 说法不正确的是( )。[选两项]BC A .它是线程安全的 B .它不是线程安全的 C .它是轻量级的 D .一个SessionFactory 实例对应一个数据库 据存储源 7. 关于Session 说法正确的是( BCD )。[选三项] A .它是线程安全的 B .它不是线程安全的 C .它是轻量级的 D .Session 也被称为持久化管理器,它 提供了和持久化相关的操作 8. 关于Configuration 说法正确的是()。[选三项]ABD A .Configuration 类的构造方法把默认路径下的hibernate. cfg.xml(或hibernate.properties)配置文件中的配置信息读入 到内存 B .Configuration 对象用于配置且启动Hibernate C .获得Configuration 的方法:Configuration config = n ew Configuration();///··.config() D .Hibernate 应用通过Configuration 实例来指定对象-关系 映射文件的位置或者动态配置Hibernate 的属性 9. 关于Transaction 说法正确的是( )。[选三项]ABD A .事务Transaction 为应用程序指定以原子操作单元范围的对象 B .在做对数据库的增加、修改和删除时一定要加上Transaction C .在做对数据库的查询时一定要加上Transaction D .获得Transaction 的方法:Transaction tr = session.begin Transaction(); 10. 如果数据库是MySql 或者SQLServer ,generator 属性值不可以用下面

Spring+hibernate

课程内容 1.面向接口(抽象)编程的概念与好处 2.IOC/DI的概念与好处 a)inversion of control b)dependency injection 3.AOP的概念与好处 4.Spring简介 5.Spring应用IOC/DI(重要) a)xml b)annotation 6.Spring应用AOP(重要) a)xml b)annotation 7.Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2整合(重要) a)opensessionInviewfilter(记住,解决什么问题,怎么解决) 8.Spring JDBC 面向接口编程(面向抽象编程) 1.场景:用户添加 2.Spring_0100_AbstractOrientedProgramming a)不是AOP:Aspect Oriented Programming 3.好处:灵活 什么是IOC(DI),有什么好处Dependecy Injection (依赖注入)依赖UserDAO a)IOC (inversion of control)控制反转,交给容器来控制 1.把自己new的东西改为由容器提供 a)初始化具体值 b)装配 2.好处:灵活装配 Spring简介 1.项目名称:Spring_0200_IOC_Introduction

2.环境搭建 a)只用IOC i.spring.jar , jarkata-commons/commons-loggin.jar 3.IOC容器 a)实例化具体bean b)动态装配 4.AOP支持 a)安全检查 b)管理transaction Spring IOC配置与应用 1.FAQ:不给提示: a)window – preferences – myeclipse – xml – xml catalog b)User Specified Entries – add i.Location: D:\share\0900_Spring\soft\spring-framework-2.5.6\dist\resources\sprin g-beans-2.5.xsd ii.URI: file:///D:/share/0900_Spring/soft/spring-framework-2.5.6/dist/resource s/spring-beans-2.5.xsd iii.Key Type: Schema Location iv.Key: https://www.wendangku.net/doc/7514816511.html,/schema/beans/spring-beans-2.5.xsd 2.注入类型 a)Spring_0300_IOC_Injection_Type b)setter(重要) c)构造方法(可以忘记) d)接口注入(可以忘记) 3.id vs. name a)Spring_0400_IOC_Id_Name b)name可以用特殊字符 4.简单属性的注入 a)Spring_0500_IOC_SimpleProperty b) 5.

6文思海辉JAVA面试问题

电话面试 1、hibernate怎么配置的,lazy和list怎么设置 2、JDBC怎么用的,有那几部,具体的方式? 3、文件的读写,步骤和具体实现代码? 4、你用的排序方式有哪些,说出你最擅长的一种排序方式? 5、xml解析方式,schema Xml的解析方式有哪几种,怎么实现解析的? 6、private,protect,default,public权限修饰符是怎么设置权限的? 7、平时你关注java的那些技术? 8、Static 9、Throws throw区别 10、Jsp servlet区别 Jsp本质上就是一个severlet jsp可能更注重前台显示而severlet则是控制 Jsp有自己的内置对象severlet没有 Jsp运行速度没有severlet快 Jsp中有htnl的代码,而severlet只是java代码 11、log4j实现 12、Hibernate or配置 13、Class.forName作用,为什么用? 14、SAX与DOM的区别 视频面试整理 1、一种排序,写出来一共排序了多少次 2、说一下Hibernate 3、如果没有Hibernate你怎么实现这样的功能?并封装成实体类 4、SAX和DOM的区别 5、事物 6、是否用过集合类 7、Set和List的区别 8、线程 9、Insert update create表 10、前台滚动条是如何实现的 11、前台滚动条,比如两个客户端,一个收到90条,一个收到91条,怎样保证两个客户下一个取到的值分别是91条和92条。 12、如果没有ssh是否能写功能 13、IO 15、JS怎样实现5秒一刷新功能 16、SWING APPLET

实验4

电子科技大学 实验报告 学生姓名:罗佳学号:2014120101013 指导教师:钟毅 实验四 一、实验名称 面向对象的信息系统设计 二、实验内容 根据实验材料的内容及实验三的实验结果,完成以下实验任务: 1. 完成系统的体系结构设计,利用Rational Rose软件进行系统的层次设计,并绘制系统的包图; 2. 根据实验三结果中的类图,对其进行细化,完成设计类的设计。 三、实验材料 ××物资储运公司长期从事物资储运业务,品种多,吞吐量大,有铁路专线直达公司的大型仓库。目前企业已经实现了一定程度上的计算机化管理,其中的财务系统应用已较为成熟。随着企业业务以及外部环境的变化,该公司原开发的信息系统已不能满足新业务、新环境以及客户对信息查询的要求,迫切需要开发一套新的系统以替代原有系统,并实现原有流程的优化,把一些原来未纳入系统管理的功能纳入到新的系统中来,并为转变到第三方物流和与电子商务接轨作好准备。 企业的主要部门包括:总经办、收货组、出货组、调运科、库管科和财务科。总经办主要负责货物出入库的审核、平帐及各种统计工作;收货组主要负责货物的验收入库及存放位置的登记;出货组主要负责货物的出库工作;调运科主要负责从货物的调运及相应报表编制等工作;库管科主要负责货物的装车及盘点等工

作;财务科负责企业的主要财务活动。 企业的主要业务活动包括出库、入库及盘点等。其各自的业务流程如下。 入库流程:总经办根据供货商提供的货品明细单(包括单据号、客户名、货品品名、规格型号、数量、运输车号等信息),创建入库单(主要包括入库业务号、应收数量、实收数量等信息),并打印入库单,将其交至收货组。 火车站发出到站预报,告知调运科“车号、发站、品名、件数、重量、到达时间”等信息。调运员进行卸车登记,编写“到站日报”,记录“卸车时间、情况(事故、破损、短件)、卸车区位”等信息,并通知收货组,进入货物入库流程。 货物卸车后,收货组进行验收,编制“码单”,记录“入库日期、实收数量、存放位置、件数、收货保管员”等信息。收货组查找与该批货物对应的入库单,在入库单上填写实收数量后,将入库单中货品所涉及的码单与入库单进行关联,并将入库单、码单交至总经办审核,总经办审核后,送至发货组。 如货物先于供货商的货品明细单到达,则收货组先进行验收入库,并创建码单。当货品明细单到达后,总经办创建入库单,收货组再查找该入库单,登记实收数量并关联码单。 出库流程:发货组审核用户提供的提货单(主要包括入库单号、品名规格、提货数量等信息),查找相应货品,判断是否有足够数量的货物进行出库,如数量足够出库,则创建三联出库单,产生出库业务号,三联出库单分别交给总经办、供货商、发货组自留。收货组在收取相关出库费用之后,查找货物存放位置,出具派车单。 发货组根据派车单调度车辆,指挥库管人员装车,过秤(可以理论计重的货物不需过秤),并在出库单上记录实出重量。用户缴纳装车费用后,发货组给用户出具出门条,用户凭出门条在门卫处检验放行。 总经办对收到的出库单进行审核。 当一张入库单上全部货物出货完毕后,发货组将入库单、码单、出货单送至总经办。总经办审核无误后,平帐,不得再修改;若出现偏差,则进入事故处理。 盘点流程:总经办根据码单信息创建盘点表,库管科的库管人员根据实际盘点情况填写货物实存数量,并返回总经办。总经办将信息进行汇总,如有误差则进行调帐,做到帐、物数量一致。 六、实验器材(设备、元器件):

Hibernate考试试卷

Hibernate 考试试题 (题库) 1、 在 Hibernate 中,下 列 说法正确的有( )。【选三 项】 A . Hibernate 是一个开放源代码的对象关系映射框架 对 JDBC 进行了轻量级的对象封装 可以大大减少操作数据库的工作量 提供了数据查询机制,但没有提供恢复机 2、 关于 Hibernate ,下列 说法错误的是( )。 A . Hibernate 是一个对象 - 关系映射工具 B .在 MV C 模式中, Hibernate 属于控制层 C .Hibernate 在 JDBC 的方式上进行封装, 以简化 JDBC 方式繁琐的编码工作 D .在 Hibernate 中,可以通过 xml 格式的配置文件保存 对象 - 关系的映射信息 3、 在 Hibernate 中,下列 关于 SessionFactory 说法正 确的 有( )。【选两项】 A .它是线程安全的 B .它不是线程安全的 C .它是轻量级的 D .一个 SessionFactory 实例对应一个数据存储源 4、 在 Hibernate 中,下列 关于 Session 说法正确的 有 B . Hibernat e C . Hibernat e

Hibernate 考试试题(题库)()。【选三项】

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 . indentity 7、在Hibernate 中,如果数据库是Oracle 或者DB2 , 则generator属性值不可以使用()。 A . hilo

JAVA面试题解惑系列(二)——到底创建了几个String对象-JAVA程序员JAVA工程师面试必看

-JAVA程序员JAVA工程师面试必看 JAVA面试题解惑系列(二)——到底创建了几个String对象? 关键字: java 面试题 string 创建几个对象 作者:臧圩人(zangweiren) 网址:https://www.wendangku.net/doc/7514816511.html, >>>转载请注明出处!<<< 我们首先来看一段代码: Java代码 1.String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?相信大家对这道题并不陌生,答案也是众所周知的,2个。接下来我们就从这道题展开,一起回顾一下与创建String对象相关的一些JAVA知识。 我们可以把上面这行代码分成String str、=、"abc"和new String()四部分来看待。String str只是定义了一个名为str的String类型的变量,因此它并没有创建对象;=是对变量str进行初始化,将某个对象的引用(或者叫句柄)赋值给它,显然也没有创建对象;现在只剩下new String("abc")了。那么,new String("abc")为什么又能被看成"abc"和new String()呢?我们来看一下被我们调用了的String的构造器: Java代码 1.public String(String original) { 2. //other code ... 3.} 大家都知道,我们常用的创建一个类的实例(对象)的方法有以下两种: 1.使用new创建对象。 2.调用Class类的newInstance方法,利用反射机制创建对象。 我们正是使用new调用了String类的上面那个构造器方法创建了一个对象,并将它的引用赋值给了str变量。同时我们注意到,被调用的构造器方法接受的参数也是一个String对象,这个对象正是"abc"。由此我们又要引入另外一种创建String对象的方式的讨论——引号内包含文本。 这种方式是String特有的,并且它与new的方式存在很大区别。 Java代码 1.String str="abc"; 毫无疑问,这行代码创建了一个String对象。 Java代码 1.String a="abc"; 2.String b="abc";

Hibernate最新练习题

Hibernate练习题 1.一般情况下,关系数据模型与对象模型之间有哪些匹配关系(多选)ABC A)表对应类 B)记录对应对象 C)表的字段对应类的属性 D)表之间的参考关系对应类之间的依赖关系 2.试述load()和get()的区别。 1.从返回结果上对比: load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常 get方法检索不到的话会返回null 2.从检索执行机制上对比: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 对象实例的工厂,它是唯一的。:SessionFactory sf=conf.buildSessionFactory(); 3.创建Session对象,打开session(相当于JDBC获得数据库的连接):Session session=sf.openSession(); 4.开始一个事务(增删改必须,查可选):tx=sessionl.beginTransaction(); 5.持久化操作:session.save(user); 6.结束事务:https://www.wendangku.net/doc/7514816511.html,mit(); 7.关闭session,释放数据库的链接:session.close(); 三个准备如下:

相关文档