搜档网
当前位置:搜档网 › Hibernate练习题

Hibernate练习题

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)这两个方法不一样,load先找缓存,再找数据库

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

D)以上说法都不对

注:load()和get()都是先找缓存,再找数据库。

不同点是在检索时:

load()是延迟检索,先返回代理对象,访问对象时在发出sql命令Get()是立即检索,直接发出sql命令,返回对象

6、在Hibernate中修改对象的说话错误的是()

A)只能利用update方法来做修改

B)可以利用saveOrUpdate方法来做修改

C)可以利用HQL语句来做修改

D)不能利用HQL语句来修改

7、下面关于Hibernate中Transaction的使用说法正确的是()(选择两项)

A)Transaction是可有可无的

B)Transaction在做查询的时候是可有可无的

C)Transaction在做修改的时候是可有可无的

D)Transaction在做修改的时候是必须的

8、使用Hibernate技术实现数据持久化时,下面()内容不在

Hibernate配置文件中配置(选择一项)

A)数据库连接信息

B)数据库类型(dialect)

C)show_sql参数

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

9、关于Hibernate中show_sql配置说法正确的是()(选择两项)

A)默认值为true

B)默认值为false

C)为true时表示在后台打印出SQL语句

D)为false表示在后台打印出SQL语句

10、关于Hibernate中关系的说话正确的是()

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

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

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

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

11、从SessionFactory中得到Session的方法是()

A)getSession

B)openSession

C)currentSession

D)以上都不是

12、在Hibernate映射文件的ID的配置中,主键生成器native的说法正确的是()

A)包括desc、asc和identity

B)包括desc、asc和sequence

C)包括increment、sequence、hilo和identity

D)包括sequence、hilo和identity

13、下列关于延迟加载说法正确的是()(选择两项)

A)lazy="true"表示采用延迟加载

B)lazy="false"表示采用延迟加载

C)Lazy默认情况下位true

D)Lazy默认情况下位false

14、在多对一得配置中,关于fetch的配置说法正确的是()

A)其值可以是true或false

B)其值可以是join或select

C)其值可以是lazy或inverse

D)以上都不对

注:fetch这个属性决定了你在查询的时候,是先查询主表记录,再查询关联表的记录(即使用select多个sql命令分别查询),还是把关联表的记录一起查询出来(即使用join连接查询)

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

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

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

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

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

18、下面关于Hibernate的说法,错误的是()。

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

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

C)Hibernate是JDBC的替代技术

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

19、Hibernate配置文件中,不包含下面的()。

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

B)实体间关联的配置

C)show_sql等参数的配置

D)数据库连接信息

20、在Hibernate关系映射配置中,inverse属性的含义是()。

A)定义在节点上,声明要负责关联的维护

B)声明在节点上,声明要对方负责关联的维护

C)定义在节点上,声明对方要负责关联的维护D)声明在节点上,声明要负责关联的维护

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

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

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

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

D)设置多对一关联的inverse属性为false(在一的一方设置) 22、下面关于HQL说话正确的是()(选择两项)

A)HQL就是SQL,不区分大小写

B)HQL不是SQL,区分大小写

C)HQL操作的是表

D)HQL操作的是对象

23、下面一对多关联的配置中,存在哪些错误()。

column="customer_id"/>

A)inverse属性不可以设置为false

B)cascade属性不可设置为true

C)class="com.x.entity.Order"应为type="com.x.entity.Order"

D)column属性不可再节点内设置

24、下面创建Criteria对象的语句中正确的是()。

a.Criteria c=query.createCriteria();

b.Criteria c=query.addCriteria();

c.Criteria c=session.createCriteria();

d.Criteria c=session.createCriteria(User.class);

25、在Hibernate关系配置中,关于cascade的配置说话正确的是()(选择两项)cascade的值可以是:all,none,delete,save-update,delete-orphan,all-delete-orphan

A)可以是save

B)可以是update

C)可以是delete

D)可以是all

26、在Hibernate映射文件的ID的配置中,主键生成器有()(选择两项)

A)increment

B)desc

C)asc

D)identity

27、下面关于Hibernate映射文件配置中dynamic-update属性说法正确的是()

A)动态的修改,如果为true,只改变有改变的属性

B)动态的修改,如果为true,只改变没有改变过的属性

C)动态的修改,如果为true,改变所有的属性

D)以上说法都错

28、下面关系Hibernate对象的状态说话正确的是()

A)Hibernat的对象只有一种状态

B)Hibernat的对象有2种状态

C)Hibernat的对象有3种状态

D)Hibernat的对象有4种状态

29、Hibernate对象从瞬时(即临时状态)到持久状态转换的方式有()(选择两项)

A)调用session的save方法

B)调用session的create方法

C)调用session的update方法

D)调用session的load方法

30、下面不是清理Hibernate缓存的方法有()

A)提交事务

B)调用session的flush方法

C)调用session的查询方法

D)关闭session

31、J2EE中往往使用()封装业务实体,()封装业务逻辑,()调用()

A)实体Bean、会话Bean、实体Bean、会话Bean

B)实体Bean、会话Bean、会话Bean、实体Bean

C)会话Bean、实体Bean、实体Bean、会话Bean

D)会话Bean、实体Bean、会话Bean、实体Bean

32、EJB的企业bean分为()三种类型

A)会话bean、实体bean、Web service

B)会话bean、实体bean、消息驱动bean

C)Jsp、servlet、jsf

D)实现类、Home接口类、Object接口类

33、Session Bean分为以下哪几种类型()(选择两项)

A)持久

B)瞬时

C)有状态

D)无状态

34、实体Bean中至少需要注入一下那两个注记()(选择两项)

A)Entity

B)Table

C)Stateful

D)Stateless

35、无状态Session Bean有几种状态()

A)1种

B)2种

C)3种

D)4种

36、有状态Session Bean有几种状态()

A)1种

B)2种

C)3种

D)4种

37、有状态Session Bean和无状态Session Bean的区别说法正确的是()

A)无状态Session Bean要保存客户端的状态,同客户端是一对一B)有状态Session Bean要保存客户端的状态,同客户端是一对一C)他们都要保存客户端的状态,同客户端是一对一

D)以上说法都不对

38、下面关于本地接口和远程接口说法正确的是()

A)本地接口只能本地访问

B)远程接口只能远程访问

C)本地接口既能本地访问,又能远程访问

D)远程接口既能本地访问也能远程访问

39、EJB3.0中的实体Bean的@Id注释主键的生成方式有以下哪几种()(选择两项)

A)SEQUENCE

B)NATIVE

C)INCREMENT

D)AUTO

40、EJB3.0中的实体Bean的关系配置中,一下那几个可以作为cascade 的值()(选择两项)

A)SAVE-UPDATE

B)DELETE

C)ALL

D)REMOVE

41、有以下代码段,下面说法正确的是()

String qlString="select model from Student as model where model.createDate=?";(1)

Query query=em.createQuery(qlString);

(2)

query.setParameter(0,"2000-12-05");

(3)

List list=q.list();

(4)

A)第一行有错,必须为参数起个名字

B)第三行有错误,query.setParameter(0,"2000-12-05")应为query.setParameter(1,"2000-12-05");

C)第四行没有错误

D)这些语句没有错误

42、在EJB3.0中用来保存一个对象的方法是()

A)save

B)update

C)persist

D)create

43、在EJB3.0中修改对象的说话错误的是()(选择两项)

A)只能利用update方法来做修改

B)可以利用saveOrUpdate方法来做修改

C)可以利用JPQL语句来做修改

D)可以利用merge方法来修改对象

44、在EJB3.0中用来删除一个对象的方法是()

A,delete

B,remove

C,remote

D,drop

45、J2EE中,EJB远程客户端不能是()。

A)EJB

B)JSP

C)Servlet

D)Html

46、J2EE中,所有与应用程序相关的企业bean都封装在一个EJB模块中,并封装成为一个()文件

A)jar

B)war

C)ear

D)zip

47、J2EE中,包含有Web工程和EJB工程的项目,打包封装成()文件

A)jar

B)war

C)ear

D)zip

48、在J2EE中,Servlet和JSP组件必须在()容器中才能运行。

A)Applet

B)客户端

C)Web

D)EJB

49、在J2EE中,EJB组件必须在()容器中才能运行。

A)Applet

B)客户端

C)Web

D)EJB

50、在J2EE中,要部署并运行包含了ejb组件的应用程序,可以使用()。(选择两项)

A)JBoss

B)Apatch

C)Tomcat

D)Weblogic

51,.Hibernate是一个优秀的持久层解决方案,那么数据持久化指的是()A)数据在程序退出后就不复存在

B)数据在程序退出以后以文件等的形式保存在存储设备中

C)数据的内容不变,处于静态

D)数据的内容是不变的

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(控制反转,也称依赖注

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) 第三方缓存的实现

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属性值不可以使用

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-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 属性值不可以用下面

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

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.sodocs.net/doc/a818790258.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.sodocs.net/doc/a818790258.html,mit(); 7.关闭session,释放数据库的链接:session.close(); 三个准备如下:

java高级工程师面试题及答案完整版

j a v a高级工程师面试题 及答案 集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]

一:选择题 1. 关于以下程序代码的说明正确的是( D ) 1.class HasStatic{ 2. private static int x=100; 3. public static void main(String args[ ]){ 4. HasStatic hs1=new HasStatic( ); 5. hs1.x++; 6. HasStatic hs2=new HasStatic( ); 7. hs2.x++; 8. hs1=new HasStatic( ); 9. hs1.x++; 10. HasStatic.x- -; 11. (“x=”+x); 12. } 13. } A、 5行不能通过编译,因为引用了私有静态变量 B、 10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102 2. 下列关于for循环和while循环的说法中哪个是正确的( B ) A.while循环能实现的操作,for循环也都能实现 B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C.两种循环任何时候都可替换 D.两种循环结构中都必须有循环体,循环体不能为空 3. 以下选项中循环结构合法的是( C ) A、while (int i<7) { i++; (“i is “+i); } B、 int j=3; while(j) { (“ j is “+j); } C、int j=0; for(int k=0; j + k !=10; j++,k++) { (“ j is “+ j + “k is”+ k); } D、 int j=0; do{ ( “j is “+j++); if (j = = 3) {continue loop;} }while (j<10); 4. 给出下面代码段, 哪行将引起一个编译时错误( D ) 1) public class Test {

Hibernate 考试题讲课稿

H i b e r n a t e考试题

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影射文件中级连操作的属性值至少写出三个(、、)。

SSM面试题

Mybatis常见面试题(转) 1、#{}和${}的区别是什么? 注:这道题是面试官面试我同事的。 答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver。#{}是sql的参数占位符,Mybatis会将sql中的#{}替换为?号,在sql执行前会使用PreparedStatement的参数设置方法,按序给sql的?号占位符设置参数值,比如ps.setInt(0, parameterValue),#{https://www.sodocs.net/doc/a818790258.html,}的取值方式为使用反射从参数对象中获取item对象的name属性值,相当于 param.getItem().getName()。 2、Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签? 注:这道题是京东面试官面试我时问的。 答:还有很多其他的标签,,加上动态sql的9个标签, trim|where|set|foreach|if|choose|when|otherwise|bind等,其中为sql片段标签,通过标签引入sql片段,为不支持自增的主键生成策略标签。 3、最佳实践中,通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗? 注:这道题也是京东面试官面试我时问的。 答:Dao接口,就是人们常说的Mapper接口,接口的全限名,就是映射文件中的namespace的值,接口的方法名,就是映射文件中MappedStatement的id值,接口方法内的参数,就是传递给sql的参数。Mapper接口是没有实现类的,当调用接口方法时,接口全限名+方法名拼接字符串作为key值,可唯一定位一个MappedStatement,举例:com.mybatis3.mappers.StudentDao.findStudentById,可以唯一找到namespace为com.mybatis3.mappers.StudentDao下面id = findStudentById的MappedStatement。在Mybatis中,每一个