Hibernate_测试题
Hibernate

3.Hibernate映射类型
在hbm.xml中指定的type属性值.Java属性值<--映射类型-->表字段值映射类型负责属性值和字段值之间相互转化。type可以指定两种格式:
1)Java类型 例如:ng.String
*2)Hibernate类型
字符串:string
i.清除DAO中关闭session的代码
j.测试Struts2+Hibernate程序
--根据数据表编写POJO
--定义POJO和表的映射文件 [POJO类名].hbm.xml (在hibernate.cfg.xml中采用<mapping>元素定义)
--采用Hibernate API操作
//1.按主键做条件查询
session.load(查询类型,主键值);
session.get(查询类型,主键值);
//2.添加,根据hbm.xml定义
//自动生成主键值
session.save(obj);
//3.更新,按id当条件将obj属性
//更新到数据库
session.update(obj);
//4.删除,按id当条件删除
session.delete(obj);
**4.主键生成方式
Hibernate框架提供了一些内置的主键值生成方法。使用时通过hbm.xml文件<id>元素的<generator>指定。
*1)sequence
采用指定序列生成主键值。适用Oracle数据库。
<generator class="sequence"><param name="sequence">序列名</param></generator>
软件开发应知应会(2)

软件开发应知应会(2)一、单选题1、主流的开源分布式存储有()HDFS Swift D.以上都是2、质量管理八项原则中,()是一个组织永恒的目标。
A.领导作用B.全员参与C.持续改进D.过程方法3、栈和队列的共同特点是()A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除D.没有共同点4、在一棵二叉树中,度为0的节点个数是n0,度为2的节点个数是n2,则有n0=____。
+1 +25、在一个长度为n的顺序表中,在第i个元素之前插入一个新元素时,需要向后移动()个元素B. n-i+16、在一个对象中包含的其他对象和变量被称为()A.特性(property)B.方法(method)C.数组D.集合(LIST)7、在微服务架构中,需要实现(),去跟进一个请求到底有哪些服务参与,参与的顺序又是怎样的,从而使每个请求链路清晰可见,出现问题很快就能定位。
A.分布式链路追踪B.熔断器C.负载均衡D.服务网关8、在三层结构中,Hibernate承担的任务是()。
A.数据的持久化操作B.实体类的定义C.业务逻辑的描述D.页面的显示与控制转发9、在Struts实现的MVC框架中()类是包含了execute方法的控制器类,负责调用模型的方法,控制应用程序的流程。
10、在shell中,使用一个定义过的变量,引用时在变量名前加()。
A.$B.&C.*D.@11、在CMMI中,()对项目流程的管理做到量化、数字化、具体化。
A.初始级B.已定义级C.量化管理级D.优化管理级12、在CMMI初始级时候,()是这一个级别最关键的因素A研发人员 B.企业 C.测试人员 D.运维人员13、在C#中,下列类型哪个不属于引用类型()。
14、在C#中,下列关于数组访问的描述中,哪些选项是错误的()。
A数组元素索引是从0开始的B.对数组元素的所有访问都要进行边界检查C.如果使用的索引小于0,或大于数组的大小,编译器将跑出一个 n15、在Struts实现的MVC框架中()类是包含了execute方法的控制器类,负责调用模型的方法,控制应用程序的流程。
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接口绑定参数的方法,说法正确的是()。
JAVA测试题_2

6. 在下列数字系列中有一个数字是错的,请找出来 40 42 49 57 74 100 137 A、100 B、74 C、57 D、49 E、42
7. Rs.6500 按照多少的比率才能在 5 年之后达到 Rs.1787.5 的利息是 A、4.5 B、6.5 C、7.5 D、3.5 E、以上都不正确
3. 如果‘CONTRIBUTE’被写作‘ETBUIRNTOC’,用这种方式写‘POPULARISE’时从左边数第六个 字母是什么?
A、R B、I C、A D、L
4. 160 的( )%=80 的 80% A、60 B、30 C、50 D、40 E、以上都不正确
5. 如果用某一编码可以把 ‘STOVE’ 表示成 ‘FNBLK’, 那么用此编码可 以把 ‘VOTES’ 表示成如下哪一种?
32、JAVA 的事件委托机制和垃圾回收机制?
33、排序都有哪几种方法?请列举。用 JAVA 实现一个快速排序?
34、如何取得年月日,小时分秒?
35、如何唤起类中的一个方法?
36、final, finally, finalize 的区别?
37、请说出你所知道的线程同步的方法 38、如何实现一个自定义的 servlet? 39、hibernate 的核心类是什么,它们的相互关系是什么?重要的方法是什么? 40、struts 的核心类有那些,在 MVC 模式中其对应的关系是什么?
25. A 一件领带售出了 B 一件礼物送出了 C 售出的货物登了记 D 礼物退回了 E 得到再次购买权选择正确的顺序。
A、A-D-B-C-E B、A-C-B-D-E C、C-B-E-D-A D、D-B-E-C-A E、E-B-D-C-A
软件测试面试题及答案

软件开发——软件测试1、测试的关键问题是()A.如何组织对软件的评审 B.如何验证程序的正确性C.如何采用综合策略 D.如何选择测试用例2、下面不属于软件测试步骤的是A.集成测试 B.回归测试 C.确认测试 D.单元测试3、自底向上集成需要测试员编写驱动程序。
请判断这句话的正确与否。
A.T B.F4、测试人员要坚持原则,缺陷未修复完坚决不予通过。
请判断这句话的正确与否。
A.T B.F5、软件测试类型按开发阶段划分是?A.需求测试、单元测试、集成测试、验证测试B.单元测试、集成测试、确认测试、系统测试、验收测试C.单元测试、集成测试、验证测试、确认测试、验收测试D.调试、单元测试、集成测试、用户测试6、如果我们可以通过覆盖率检测来判断我们是否对所有的路径都进行了测试,但是仍然可能存在未被检测出来的缺陷,原因是()A.全部选项B.程序可能因为缺某些路径而存在问题C.穷举路径的测试可能不好暴露数据敏感的错误D.就算穷举路径测试也不能保证程序符合需求7、下面哪些属于网游的测试内容?A.客户端性能B.服务器端性能C.从运行完 game.exe 打开游戏界面后可进行的各种操作、玩法D.界面8、下述有关负载测试,容量测试和强度测试的描述正确的有?A.负载测试:在一定的工作负荷下,系统的负荷及响应时间。
B.强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。
C.容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。
D.容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。
9、集成测试的过程包括有以下哪些?A.构建的确认过程 B.系统集成测试测试组提交过程C.测试用例设计过程 D.Bug的报告过程10、下面关于软件测试,描述正确的是?A.软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。
软件测试面试题及答案

软件开发——软件测试1、测试的关键问题是()A.如何组织对软件的评审B.如何验证程序的正确性C.如何采用综合策略D.如何选择测试用例2、下面不属于软件测试步骤的是A.集成测试B.回归测试C.确认测试D.单元测试3、自底向上集成需要测试员编写驱动程序。
请判断这句话的正确与否。
A.T B.F4、测试人员要坚持原则,缺陷未修复完坚决不予通过.请判断这句话的正确与否。
A.T B.F5、软件测试类型按开发阶段划分是?A.需求测试、单元测试、集成测试、验证测试B.单元测试、集成测试、确认测试、系统测试、验收测试C.单元测试、集成测试、验证测试、确认测试、验收测试D.调试、单元测试、集成测试、用户测试6、如果我们可以通过覆盖率检测来判断我们是否对所有的路径都进行了测试,但是仍然可能存在未被检测出来的缺陷,原因是()A.全部选项B.程序可能因为缺某些路径而存在问题C.穷举路径的测试可能不好暴露数据敏感的错误D.就算穷举路径测试也不能保证程序符合需求7、下面哪些属于网游的测试内容?A.客户端性能B.服务器端性能C.从运行完game。
exe 打开游戏界面后可进行的各种操作、玩法D.界面8、下述有关负载测试,容量测试和强度测试的描述正确的有?A.负载测试:在一定的工作负荷下,系统的负荷及响应时间。
B.强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。
C.容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。
D.容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。
9、集成测试的过程包括有以下哪些?A.构建的确认过程B.系统集成测试测试组提交过程C.测试用例设计过程D.Bug的报告过程10、下面关于软件测试,描述正确的是?A.软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。
hibernate 乱码问题

(Hibernate不适合的场景:不适合OLAP(On-Line Analytical Processing联机分析处理),以查询分析数据为主的系统;适合OLTP(on-line transaction processing联机事务处理))。
对于些关系模型设计不合理的老系统,也不能发挥hibernate优势。
Student student = new Student();
student.setSno("0001");
student.setName("zxl");
student.setAge(27);
Session s = HibernateUtil.getSession();
<property name="age" column="age" type="integer"/>
</class>
10.hibernate 查询方式:1.hql 查询; 2.Criteria 查询 (偏于面向对像的查询方式)
hql 查询代码如下:
public void query(String name){
Session s=null;
Transaction t=null;
try{
s=HibernateUtil.getSession();
t=s.beginTransaction();
s.save(user);
mit();
session=configuration.buildSessionFactory().openSession();
4.数据库中事务的概念及性质?
关于hibernate的LazyInitializationException异常

关于hibernate的LazyInitializationException异常今天使用hibernate处理双向关联关系时出现了一个问题,先看一段代码:这是在dao层写的一个简单的查询方法实现,通过id查询班级信息,并通过hibernate关联查询班级所有的学生信息:public Grade findById(int id){Session session HibernateUtil.getSessionFactory().openSession();Grade grade=(Grade)session.load(Grade.class,id);session.close();return grade;}我在测试类的main方法里写了如下代码进行测试:GradeDao gdao=new GradeDao();Grade findGrade=gdao.findById(143402);Set<Student>students=findGrade.getStudents();System.out.println(findGrade.getGname()+"有如下学生:");for(Student stu:students){System.out.println(stu.getSname());}先说明一下:Grade和student里的数据是通过关联写进数据库的,所以证明两个实体被正确关联,数据库中班级表中我已经写入了班号为143402的班级信息,学生表中也存在班号为143402的学生信息,所以看起来这两段代码应该没问题,但是当我运行的时候发生如下异常:(图片:1)后来我上网查了一下,hibernate3在one-to-many关联中,所有的实体设置文件中的lazy 属性都被默认设成了lazy=“proxy”,此处proxy相当于true,lazy=”true“意思是延时加载,简单理解就是,你使用了lazy=true,这样hibernate在从数据库中调数据的时候是不会把关联的对象查出来的,而是保存一个获取值得方法,在你使用getXXX()调用的时候,hiberante会利用这个保存的方法去从数据库中取数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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;private Long iid;private String itemName; //项目名称,如基本工资、职位津贴等private String amount; //数额//Getter & Setter……}其中的WageItem 实体类有如下配置,其中空白处应填入的代码是(a)。
<class name="WageItem" table="fin_wage_item"<id name="iid" column="wi_id" type="ng.Long"><generator class="native" /></id><property name="itemName" column="wi_name"type="ng.String" /><property name="amount" column="wi_amount"type="ng.Double" /><!--配置wage 属性-->______________________</class>A.<many-to-one name="wage" column="wi_wage_id" class="Wage" />B.<one-to-many name="wage" column="wi_wage_id" class="Wage" />C.<set name="wage"><key column="wi_wage_id" /><one-to-many class="Wage" /></set>D.<set name="wage"><key column=" wi_wage_id" /><many-to-one class="Wage" /></set>8.已知系统中TBL_USER 表对应的实体类是TblUser,下列HQL 语句中正确的是()。
A.from Tbl_UserB.select * from tbluserC.select TblUser from TblUserD.from TblUser t where t.age= 159.对下面代码中存在的错误,说法不正确的是(d )。
String hql = "from TblUser u where u.status = @status ";//<1>Query query = session.createQuery();//<2>query.setNamedParameter(":status","");//<3>return query.executeQuery(hql);//<4>A.第一行中的命名参数“@status”应该是“:status”B.第二行createQuery 函数应该传入hql 作为参数C.第三行命名参数名称“:status”应该是“status”D.第四行应该是“return query.list(hql);”10.下面代码的执行效果是(c)。
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.返回分数最高的五个学生B.返回分数最高的六个学生C.返回分数最低的五个学生D.返回分数最低的六个学生11.下面HQL语句的含义是(D)。
select stufrom TblStudent stuwhere stu.score > ( select avg(score) from TblStudent )A.查询所有学生的平均分B.查询得分大于平均分的学生的成绩C.查询得分最高的学生D.查询得分大于平均分的学生12.假设对Customer 类的orders 集合采用延迟检索策略,编译或运行以下程序,会出现(C )Session session=sessionFactory.openSession();Customer customer=(Customer)session.get(Customer.class,new Long(1));session.close();Iterator orderIterator=customer.getOrders().iterator();A.编译出错B.编译通过,并正常运行C.编译通过,但运行时抛出异常D. 运行时输出“session.open”13.选出不是Expression方法的选项(DA.eq()B.gt()C.like()D.isNULL()14.与下面代码效果相同的HQL 语句是(A )。
Criteria criteria = session.createCriteria(User.class);criteria.add(Restrictions.like("name","admin%"));List result = criteria.list();A.from User where name like 'admin%'B.from User where name like '%admin%'C.from name where Restrictions like 'admin%'D.select from Useras u where u. Restrictions like 'admin%'15.执行下面代码返回的结果为(A)。
Criteria criteria = session.createCriteria(User.class);criteria.addOrder(Order.desc("id"));List result = criteria.list();A.以id降序排列的User对象列表B.以id升序排列的User对象列表C.返回Order为id的User对象的列表D.不返回对象16.下面代码能够返回房屋表中第51行数据后的20 行数据的是(B )。
A.Criteria criteria = session.createCriteria(House.class);Criteria.setFirstResult(51);List result = criteria.list();B.Criteria criteria = session.createCriteria(House.class);Criteria.setFirstResult(51);criteria.setMaxResult(20);List result = criteria.list();C.Criteria criteria = session.createCriteria(House.class);criteria.setMaxResult(20);List result = criteria.list();D.Criteria criteria = session.createCriteria(House.class);Criteria.setFirst(51);criteria.setMax(20);List result = criteria.list();17.下面关于Hibernate关联映射说法错误的是()。
A. 配置单项多对一关联映射,在配置文件中需要使用<many-to-one>标签B. 面向对象领域的关联关系可以分为单向一对多或者单向多对一C. 人和手机号码之间的关系是一对多关系D. cascade属性描述了级联操作的规则18.如果数据库是oracle或者db2,则generator属性值不可以使用(B)。