hibernate面试题

合集下载

软件开发框架(J2EE)Hibernate概述习题与答案

软件开发框架(J2EE)Hibernate概述习题与答案

一、多选题1.在Hibernate 主配置文件(hibernate.cfg.xml)中,以下哪个元素()为它的根元素。

A.<hibernate-configuration>元素B.<session-factory>元素C.<property>元素D.<mapping>元素E.<hibernate-mapping>元素2.在Hibernate 主配置文件(hibernate.cfg.xml)中,是通过哪个元素()来配置映射文件的。

A.<hibernate-configuration>元素B.<session-factory>元素C.<property>元素D.<mapping>元素E.<hibernate-mapping>元素3.下面关于Hibernate 的映射文件说法正确的有哪些()。

A.Hibernate 是以xml 格式的文件来指定对象与关系数据之间的映射B.在hibernate.cfg.xml文件中可以配置<mapping>元素的resource属性来指定映射文件C.配置映射文件时,需要遵循它对应的DTD 文件格式D.在映射文件中,<class>元素的<id>子元素只能出现一次E.<id>元素的<generator>子元素用来设定标识符生成器4.在Hibernate 的映射文件中,<id>元素的<generator>子元素用来设定标识符生成器,以下对常用的标识符生成器的用法说法正确的是()。

A.increment:适用于代理主键。

用于为long, short 或者int 类型生成唯一标识B.identity:适用于代理主键。

由底层数据库生成标识符C.sequence:适用于代理主键。

Hibernate 根据底层数据库的序列来生成标识符D.hilo:使用一个高/低位算法高效的生成long、short 或者int 类型的标识符E.seqhilo:使用一个高/低位算法来高效的生成long、short 或者int 类型的标识符,给定一个数据库序列(sequence)的名字5.Hibernate 采用xml 文件来配置对象—关系映射有哪些好处()。

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

JAVA技术综合面试题目(含参考答案)

JAVA技术综合面试题目(含参考答案)

目录1 Struts框架 (2)2 Spring框架 (8)3 AJAX技术 (14)4 Hibernate框架 (17)5 框架综合运用 (24)6 J2EE初级题目 (27)7 J2SE初级题目 (33)1Struts框架1.Struts框架的整体运行流程在web应用启动时就会加载初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象,例如:Action的映射信息存放在ActionMapping对象中.当ActionServlet接收到一个客户请求时,将执行如下流程.A.检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;B.如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;C.根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm 的validate()方法;D.如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象,就表示表单验证成功;E. ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;F. Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件;G. ActionForward对象指向JSP组件生成动态网页,返回给客户2.ActionServlet在Struts框架中的总体作用功能是什么A.在web应用启动时ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象,例如:Action的映射信息存放在ActionMapping对象中。

Hibernate常见面试题汇总

Hibernate常见面试题汇总

一. ‎H iber‎n ate工‎作使用步骤‎?1.‎‎读‎取并解析配‎置文件‎2. ‎‎读取并解‎析映射信息‎,创建Se‎s sion‎F acto‎r y3‎.‎‎打开Ses‎s sion‎4. ‎‎创建‎事务Tra‎n sati‎o n5‎.‎‎持久化操作‎6. ‎‎提交‎事务7‎.‎‎关闭Ses‎s ion ‎8. ‎‎关闭S‎e ssti‎o nFac‎t ory ‎二.Hi‎b erna‎t e的查询‎方式有几种‎?(1)‎导航对象图‎检索方式。

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

(‎2)OID‎查询方式。

‎根据对象的‎O ID来查‎询对象。

S‎e ssio‎n的get‎()和lo‎a d()方‎法。

(3‎)HQL查‎询方式。

H‎Q L是面向‎对象的查询‎语言,se‎s sion‎的find‎()方法用‎于执行HQ‎L查询语句‎。

可以利用‎Q uery‎接口。

‎Q uery‎quer‎y = s‎e ssio‎n.cre‎a teQu‎e ry(“‎f rom ‎C usto‎m er a‎s c w‎h ere ‎c.nam‎e=: ‎c usto‎m erNa‎m e”);‎que‎r y.se‎t Stri‎n g(“c‎u stom‎e rNam‎e”,”张‎三”);‎List‎resu‎l tLis‎t = q‎u ery.‎l ist(‎);(4‎)QBC查‎询方式。

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

‎Cri‎t eria‎crit‎e ria ‎= ses‎s ion.‎c reat‎e Crit‎e ria(‎U ser.‎c lass‎);C‎r iter‎i on c‎r iter‎i on1 ‎= Exp‎e ssio‎n.lik‎e(“na‎m e”,”‎T%”);‎Crit‎e rion‎crit‎e rion‎2 = E‎x pess‎i on.e‎q(age‎,new ‎I nteg‎e r(30‎));c‎r iter‎i a =‎crit‎e ria.‎a dd(c‎r iter‎i on1)‎;cri‎t eria‎ = c‎r iter‎i a.ad‎d(cri‎t erio‎n2);‎L ist ‎r esul‎t List‎= cr‎i teri‎a.lis‎t();‎这种查询方‎式使用的较‎少,主要是‎在查询中需‎要用户输入‎一系列的查‎询条件,如‎果采用HQ‎L查询代码‎会比较烦。

测试基本面试题目

测试基本面试题目

软件测试一些基本面试问题1、黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

软件的黑盒测试意味着测试要在软件的接口处进行。

这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。

因此黑盒测试又叫功能测试或数据驱动测试。

黑盒测试主要是为了发现以下几类错误:1)是否有不正确或遗漏的功能?2)在接口上,输入是否能正确的接受?能否输出正确的结果?3)是否有数据结构错误或外部信息(例如数据文件)访问错误?4)性能上是否能够满足要求?5)是否有初始化或终止性错误?软件的白盒测试是对软件的过程性细节做细致的检查。

这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。

通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。

因此白盒测试又称为结构测试或逻辑驱动测试。

白盒测试主要是想对程序模块进行如下检查:1)对程序模块的所有独立的执行路径至少测试一遍。

2)对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。

3)在循环的边界和运行的界限内执行循环体。

4)测试内部数据结构的有效性,等等。

单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。

通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。

单元测试是由程序员自己来完成,最终受益的也是程序员自己。

可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。

执行单元测试,就是为了证明这段代码的行为和我们期望的一致。

集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。

它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。

JAVA面试题大全(含答案)

JAVA面试题大全(含答案)

1. J2EE是什么?它包括哪些技术?解答:从整体上讲,J2EE是使用Java技术开发企业级应用的工业标准,它是Java 技术不断适应和促进企业级应用过程中的产物。

适用于企业级应用的J2EE,提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。

J2EE是一个标准,而不是一个现成的产品。

主要包括以下这些技术:1) Servlet Servlet是Java平台上的CGI技术。

Servlet在服务器端运行,动态地生成Web页面。

与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。

对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。

2)JSP JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。

从这一点来看,非常类似Microsoft ASP、PHP等技术。

借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP 来合成。

在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。

3) EJB EJB定义了一组可重用的组件:Enterprise Beans。

开发人员可以利用这些组件,像搭积木一样建立分布式应用。

4)JDBC JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language,结构化查询语言)数据库访问接口,它使数据库开发人员能够用标准Java API编写数据库应用程序。

JDBC API主要用来连接数据库和直接调用SQL命令执行各种SQL语句。

利用JDBC API可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过程。

web_框架面试题目(3篇)

web_框架面试题目(3篇)

第1篇一、引言随着互联网技术的飞速发展,Web框架在软件开发中扮演着越来越重要的角色。

掌握一门优秀的Web框架不仅能够提高开发效率,还能提升代码质量。

本面试题目将从多个角度对Web框架进行深入解析,并辅以实战案例,帮助您在面试中脱颖而出。

二、基础知识1. 什么是Web框架?Web框架是一套软件架构,它提供了一套标准的开发模式,用于构建Web应用程序。

它通常包含路由、模板、数据库交互、会话管理等功能。

2. 常见的Web框架有哪些?- Python:Django、Flask、Pyramid- Ruby:Ruby on Rails- PHP:Laravel、Symfony- Java:Spring MVC、Struts2- JavaScript:Express、Koa3. Web框架的核心组件有哪些?- 路由(Routing):根据请求的URL,将请求映射到对应的控制器或函数。

- 模板引擎(Template Engine):将数据渲染到HTML模板中。

- 数据库ORM(Object-Relational Mapping):将对象映射到数据库表。

- 会话管理(Session Management):管理用户会话信息。

- 中间件(Middleware):在请求处理过程中添加额外的处理逻辑。

三、面试题目1. Python Web框架:Django- 题目1:简述Django的MVC模式与传统的MVC模式有何不同?- 解析:Django采用MVC模式,但与传统的MVC模式相比,Django将模型(Model)和视图(View)进行了合并,形成了一个更紧凑的框架结构。

- 题目2:解释Django中的`__init__.py`文件的作用。

- 解析:`__init__.py`文件用于初始化Python包,确保Django能够正确加载应用程序中的模块。

- 题目3:简述Django中ORM的基本用法。

- 解析:Django的ORM允许开发者使用Python代码操作数据库,而不需要编写SQL语句。

SSH框架面试题(自己+别人的试题)

SSH框架面试题(自己+别人的试题)

(问答题+选择题(在55页))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-many4.Struts1流程:1、客户端浏览器发出HTTP请求。

2、根据web.xml配置,该请求被ActionServlet接收。

3、根据struts-config.xml配置,ActionServlet先将请求中的参数填充到ActionForm中,然后ActionServlet再将请求发送到Action 进行处理。

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

1.Hibernate工作原理及为什么要用?原理:1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Sesssion4.创建事务Transation5.持久化操作6.提交事务7.关闭Session8.关闭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) 第三方缓存的实现5.Hibernate的查询方式Sql、Criteria,object comptositionHql:1、属性查询2、参数查询、命名参数查询3、关联查询4、分页查询5、统计函数6.如何优化Hibernate?1.使用双向一对多关联,不使用单向一对多2.灵活使用单向一对多关联3.不用一对一,用多对一取代4.配置对象缓存,不使用集合缓存5.一对多集合使用Bag,多对多集合使用Set6. 继承类使用显式多态7. 表字段要少,表关联不要怕多,有二级缓存撑腰////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////答案二:hibernate工作原理:1、通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件。

2、由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取解析映射信息。

3、通过config.buildSessionFactory();//得到sessionFactory。

4、sessionFactory.openSession();//得到session。

5、session.beginTransaction();//开启事务。

6、persistent operate;6、session.getTransaction().commit();//提交事务7、关闭session;8、关闭sessionFactory;hibernate优点:1、封装了jdbc,简化了很多重复性代码。

2、简化了DAO层编码工作,使开发更对象化了。

3、移植性好,支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码。

4、支持透明持久化,因为hibernate操作的是纯粹的(pojo)java类,没有实现任何接口,没有侵入性。

所以说它是一个轻量级框架。

hibernate延迟加载:get不支持延迟加载,load支持延迟加载。

1、hibernate2对实体对象和集合实现了延迟加载2、hibernate3对提供了属性的延迟加载功能hibernate延迟加载就是当使用session.load(User.class, 1)或者session.create Query()查询对象或者属性的时候这个对象或者属性并没有在内存中,只有当程序操作数据的时候,才会存在内存中,这样就实现延迟加载,节省了内存的开销,从而提高了服务器的性能。

Hibernate的缓存机制一级缓存:session级的缓存也叫事务级的缓存,只缓存实体,生命周期和ses sion一致。

不能对其进行管理。

不用显示的调用。

二级缓存:sessionFactory缓存,也叫进程级的缓存,使用第3方插件实现的,也值缓存实体,生命周期和sessionFactory一致,可以进行管理。

首先配置第3放插件,我们用的是EHCache,在hibernate.cfg.xml文件中加入<property name="er_second_level_cache">true</property >在映射中也要显示的调用,<cache usage="read-only"/>二级缓存之查询缓存:对普通属性进行缓存。

如果关联的表发生了修改,那么查询缓存的生命周期也结束了。

在程序中必须手动启用查询缓存:query.setCacheable(true);优化Hibernate1、使用一对多的双向关联,尽量从多的一端维护。

2、不要使用一对一,尽量使用多对一。

3、配置对象缓存,不要使用集合缓存。

4、表字段要少,表关联不要怕多,有二级缓存撑腰。

(1)一般情况下,关系数据模型与对象模型之间有哪些匹配关系(多选)A)表对应类B)记录对应对象C)表的字段对应类的属性(2)以下关于SessionFactory的说法哪些正确?(多选))一个SessionFactory对象对应一个数据库存储源。

C)SessionFactory是重量级的对象,不应该随意创建。

如果系统中只有一个数据库存储源,只需要创建一个(3)Customer类中有一个Set类型的orders属性,用来存放Order订单对象,在Customer.hbm.xml文件中,用哪个元素映射orders属性?A) B) C) D)<:property>(4)元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,c asecade属性应该取什么值?(单选))save-update(5)以下哪些属于Session的方法?A)load()B)save()C)delete()D)update()E)open()F)close()(6)以下程序的打印结果是什么?(单选)1. tx = session.beginTransaction();2. Customer c1=(Customer)session.load(Customer.class,new Long(1));3. Customer c2=(Customer)session.load(Customer.class,new Long(1));4. System.out.println(c1==c2);5. mit();6. session.close();打印true(7)以下程序代码对Customer的name属性修改了两次:1. tx = session.beginTransaction();2. Customer customer=(Customer)session.load(Customer.class,3. new Long(1));4. customer.setName(\"Jack\");5. customer.setName(\"Mike\");6. mit();执行以上程序,Hibernate需要向数据库提交几条update语句?(单选)B,1(8)在持久化层,对象分为哪些状态?(多选)A)临时状态C)游离状态D)持久化状态(9)对于以下程序,Customer对象在第几行变为持久化状态?(单选)1. Customer customer=new Customer(); //line12. customer.setName(\"Tom\"); //line23. Session session1=sessionFactory.openSession(); //line34. Transaction tx1 = session1.beginTransaction(); //line45. session1.save(customer); //line46. mit(); //line57. session1.close(); //line6A) line1 B)line2 C)line3 D)line4 E)line5 F)line6(10)对于以下程序,Customer对象在第几行变为游离状态?(单选)1. Customer customer=new Customer(); //line12. customer.setName(\"Tom\"); //line23. Session session1=sessionFactory.openSession(); //line34. Transaction tx1 = session1.beginTransaction(); //line45. session1.save(customer); //line46. mit(); //line57. session1.close(); //line6)line6(11)以下哪一种检索策略利用了外连结查询?(单选)A)立即检索B)延迟检索C)迫切左外连结检索(12)假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现什么情况(单选)1. Session session=sessionFactory.openSession();2. tx = session.beginTransaction();3. Customer customer=(Customer)session.get(Customer.class,new Long(1));4. mit();5. session.close();6. Iterator orderIterator=customer.getOrders().iterator();A)编译出错B)编译通过,并正常运行C)编译通过,但运行时抛出异常(13)关于HQL与SQL,以下哪些说法正确?(多选)A)HQL与SQL没什么差别B)HQL面向对象,而SQL操纵关系数据库C)在HQL与SQL中,都包含select,insert,update,delete语句D)HQL仅用于查询数据,不支持insert,update和delete语句(14)事务隔离级别是由谁实现的?(单选)A)Java应用程序B)Hibernate C)数据库系统D)JDBC驱动程序(15)悲观锁与乐观锁,哪个具有较好的并发性能?(单选)A)悲观锁B)乐观锁答案:(1)A,B,C (2)B,C (3)A (4)D (5)A,B,C,D,F (6)C (7)B (8)A,C,D (9)D (10)F (11)C (12)C (13)B,D (14)C (15)BHibernate对象的三种状态是什么?瞬时态(Transient)、持久态(Persistent)、脱管态(Detached)。

相关文档
最新文档