Hibernate考试选择题解析

1.在Hibernate中,以下关于主键生成器说法错误的是(AC)。

A.increment可以用于类型为long、short或byte的主键(byte类型不可以)

B.identity用于如SQL Server、DB2、MySQL等支持标识列的数据库

C.sequence用于如Oracle、SQL Server等支持序列的数据库

D.native由Hibernate根据底层数据库自行判断采用何种主键生成策略,是由使用的数据库生成主键的值

解析:A.都是变相的int

2.在Hibernate中,关于脏检查和刷新缓存说法正确的是(AB)。

A.当事务提交时,会发生脏检查

B.Session的flush( )方法是刷新缓存的方法

C.在执行Session的commit( )方法之前不会调用Session的flush( )方法

D.编写代码时,调用commit( )方法之前要调用flush( )方法

解析:

脏检查是事务提交的时候进行的

刷新缓存:刷新缓存的事情就是脏检查
    两种方式:
    方式一:事务提交
    方式二:session.flush();

3.使用HQL查询所有部门信息,以下正确的是(AD)。

A.from Dept

B.select * from cn.jbit.demo.entity.Dept

C.select Dept from cn.jbit.demo.entity.Dept d

D.select d from Dept d

解析:B.* 不能有

D.应该select d 写别名

4.关于Query接口的list( )和iterate( )方法,说法正确的是(AD)。

A.执行list( )方法,查询所有符合条件的记录

B.执行iterate( )方法,查询所有符合条件的记录

C.执行list( )方法,查询出所有符合条件的主键值

D.执行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="java.lang.Integer">

<generator class="assigned"/>

</id>

<property name="salary" type="java.lang.Double" column="SAL"/>

<property name="hireDate" type="java.util.Date"/>

<many-to-one

name="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表的主键名

解析:Column:数据表里面EMP对应的外键列

7.在Hibernate映射文件中,关于inverse属性说法正确的是(ACD)。

A.inverse属性有两个值:true、false

B.<many-to-one>标签有inverse属性

C.<set>标签有inverse属性

D.inverse属性用于指定维护关联关系的那一方

解析:<many-to-one>标签没有inverse属性

8.在Hibernate映射文件中,关于延迟加载配置说法错误的是(BD)

A.<class>标签中lazy属性可选值:true、false

B.<set>标签中lazy属性可选值:true、proxy和no-proxy

解析:<set>标签中lazy属性可选值有true,false,extra。

C.< set>标签中lazy属性可选值:true、extra和false

D.<many-to-one>标签中lazy属性可选值:proxy、true和false

解析:<many-to-one>标签中lazy属性可选值有:false,proxy和no-proxy

9.在Hibernate映射文件中,关于<component>标签说法正确的是(ABC)。

A.<component>标签用来映射组件类

B.<component>标签通过<parent>指定组件类所属的整体类

C.<component>标签通过<property>指定组件类的属性

D.<component>标签有id、name、class属性

解析:没有id的属性

10.MyBatis指定配置文件的根元素使用的是(B)。

A.<sqlMapConfig>

B.<configuration>

C.<setting>

D.<environments>

11.在MyBatis中,ExecutorType的值包括( ABD)。

A.ExecutorType.SIMPLE

B.ExecutorType.BATCH

C.ExecutorType.EXECUTE

D.ExecutorType.REUSE

解析:

public final enum org.apache.ibatis.session.ExecutorType {
 
  // Field descriptor #8 Lorg/apache/ibatis/session/ExecutorType;
  public static final enum org.apache.ibatis.session.ExecutorType SIMPLE;
 
  // Field descriptor #8 Lorg/apache/ibatis/session/ExecutorType;
  public static final enum org.apache.ibatis.session.ExecutorType REUSE;
 
  // Field descriptor #8 Lorg/apache/ibatis/session/ExecutorType;
  public static final enum org.apache.ibatis.session.ExecutorType BATCH;
}

12.关于Hibernate缓存说法错误的是(CD)。

A.Hibernate缓存一般分为三类:一级缓存、二级缓存和查询缓存

B.Session的evict( )方法用于从缓存中清除指定的持久化对象

C.Session的clear( )方法用于刷新缓存

D.Session的flush( )方法用于从缓存中清除所有持久化对象

解析:C.D clear()和flush()方法写反了

13.关于HQL的连接查询,说法错误的是(D)。

A.inner join 或 join用于内连接

B.inner join fetch或 join fetch用于迫切内连接

C.left outer join fetch 或 left join fetch用于迫切左外连接

D.right outer join fetch 或 right join fetch用于迫切右外连接

解析:没有迫切右外连接

14.关于Hibernate批量处理数据说法正确的是(CD)。

A.使用HQL进行批量操作,Hibernate不支持批量插入

解析:支持批量

B.使用JDBC API进行批量操作,SQL语句中涉及的数据会被加载到Session缓存,占用内存空间

解析:不会被加载到session缓存中,不会占用内存空间

C.使用Session进行批量操作,数据会被加载到Session缓存,需注意刷新并清空缓存

D.使用Session进行批量操作,适用于需要通过代码处理的复杂的业务逻辑场景

15.关于HQL的聚合函数使用,说法正确的是(ABCD)。

A.select count(*) from Dept d用于统计部门个数

B.select sum(e.salary) from Emp e用于汇总员工工资总额

C.select max(e.hiredate) from Emp e用于找到最新入职的员工的入职时间

D.select min(e.hiredate) from Emp e用于找到最早入职的员工的入职时间

16.关于HQL子查询中,说法错误的是(C)。

A.size( )或size用于获取集合中元素的数目

B.elements( )用于获取集合中的所有元素

C.any关键字用于子查询语句返回所有记录

D.in关键字与“=any”意思相同

解析:any 返回的是任意一条记录

17.关于原生SQL查询和命名查询,说法正确的是(ABC)。

A.执行原生SQL,需使用SQLQuery对象

B.SQLQuery是一个接口,继承了Query接口

C.Hibernate支持在映射文件中定义字符串形式的查询语句,这样的语句是命名查询语句

D.命名查询语句只能是HQL语句,不能是SQL语句

解析:可以是SQL语句

18.在 Hibernate中,关于映射Oracle中的BLOB和CLOB类型的方法,说法正确的是(BCD)。

A.CLOB类型只能映射为java.lang.String

B.BLOB类型可以映射为java.sql.Blob

C.BLOB类型可以映射为byte[]

D.CLOB类型可以映射为java.lang.String或java.sql.Clob

解析:CLOB类型可以映射为java.lang.String或java.sql.Clob

19.在Hibernate中,关于Criteria运算方法说法错误的是(CD)。

A.Restrictions.ge( )方法等同于HQL运算符 >=

B.Restrictions.like("empName","s",MatchMode.START)方法用于查找姓名以s开头的员工

C.Restrictions.disjunction( )方法用于指定多个逻辑与

D.Restrictions.in( )方法只能用于数组

20.在Hibernate中,关于注解说法正确的是(ABD)。

A.@Id用于声明持久化类的唯一标识,对应于数据表中的主键

B.@Cloumn用于将属性映射到列

C.@Transient用于忽略该属性,需要持久化到数据库

D.@GeneratedValue用于定义主键值的生成策略

解析:@Transient  忽略这些字段和属性,不用持久化到数据库

21.下列关于同义词的说法,选项正确的是(C)。

A.只能为表创建同义词,不能为视图创建同义词

B.同义词只能用于引用其他用户创建的表

C.公有同义词和私有同义词对同一个表可以同名

D.使用Drop Synonym语句删除同义词的同时,同义词引用的表也无效

22.评估CREATE TABLE 语句:

CREATE TABLE products

(

product_id NUMBER(6) CONSTRAINT prod_id_pk PRIMARY KEY,

product_name VARCHAR2(15)

)

下列关于prod_id_pk选项正确的是(B)。

A.可以被创建,但需要唯一索引用手工创建

B.可以被创建并且会自动创建唯一索引

C.可以被创建并且会自动创建非唯一索引

D.可以被创建但不可以使用,因为没有指定索引

23.下列创建序列的SQL语句:

CREATE SEQUENCE seq1

START WITH 100

INCREMENT BY 10

MINVALUE 1

MAXVALUE 200

CYCLE

NOCACHE;

序列seq1的生成的值已经到最大值200,再执行下列语句:

SELECT seq1.nextval FROM dual;

下列显式正确值的选项是(A)。

A.1

B.10

C.100

D.报错

24.A_oe和A_hr是数据库中的2个用户,A_oe下有一个表Orders,执行下列语句如下:

CREATE ROLE r1;

GRNAT SELECT,INSERT ON A_oe.orders to r1;

GRANT r1 to A_hr;

GRANT SELECT ON A_oe.orders To A_hr;

REVOKE SELECT ON A_oe.orders FROM A_hr;

执行上面语句后结果正确的是(A)。

A.A_hr能够查询A_oe.orders表

B.A_hr不能够查询A_oe.orders表

C.REVOKE语句将撤销A_hr的SELECT权限同时也从r1角色撤销SELECT权限

D.REVOKE语句将报错,因为SELECT权限已经被r1角色授予

25.对于视图,下列语句正确的是(CD)。

A.有列别名的视图不能被修改

B.一个复杂的视图定义中使用子查询不能包含聚合(分组)函数和连接

C.如果一个视图定义中包含DISTINCT关键字,则不能够通过视图进行删除

D.创建视图语法中OR REPLACE 选项被使用,目的是在没有删除视图的情况下修改已存在的视图定义。

时间: 2024-10-29 18:50:56

Hibernate考试选择题解析的相关文章

Hibernate 3 深度解析--苏春波

Hibernate 3 深度解析 Hibernate 作为 Java ORM 模式的优秀开源实现, 当下已经成为一种标准,为饱受 JDBC 折磨的 Java 开发者带来了“福音.快速的版本更新,想开发者所想,Hibernate 的开发团队俨然就是我们开发者的知音呀.随着 Hibernate 的用户群的越来越壮大,Hibernate 的功能也变得更加强大和健硕起来,下面就对于我们比较常用和关心的一些内容做一些比较深入的探讨,我们的宗旨就是不但会灵活应用,还能知其所以然,不要求大家一定要把 Hibe

hibernate配置文件详细解析

在javaweb开发中,hibernate框架的是常用的,能帮我们节省大量的时间,以下是hibernate的配置文件解析. hibernate配置文件的默认名为:hibernate.cfg.xml 默认在WEB-INF/class下 . <?xml version="1.0" encoding="utf-8"?> 配置文件dto信息(DTO解释百度百科) <!DOCTYPE hibernate-configuration PUBLIC "

第3周_3章_SQL编程选择题解析答案

S2_T_SQL_3 试卷分析 小编:XLcker www.xksafe.com 题干   题型 选择题 图片 A   B   C   D   标准答案 a 技能点 使用CONVERT()函数转换类型 试题解析   正确学员 正确率 0% 题干   题型 选择题 图片 A   B   C   D   标准答案 c 技能点 使用循环结构控制语句(WHILE) 正确学员 正确率 0% 题干   题型 选择题 图片 A   B   C   D   标准答案 c 技能点 使用Print语句输出 试题解析

[Hibernate Search] (5) 解析和条件索引

解析(Analysis) 当一个实体域被Lucene索引时,往往还会经历一个语法分析(Parsing)和转换(Conversion)的步骤,这些步骤被称为解析.在前文中,我们提到过Hibernate Search会默认对字符串类型的实体域进行分词,而这个分词过程就需要用到解析器(Analyzer).在需要对实体域进行排序的场合,需要禁用这个默认的分词行为. 在解析过程中,还可以借助Apache Solr提供的组件来完成更多的操作.为了弄清楚Solr组件是如何参与到这个过程中并完成更多的操作,需要

hibernate错题解析

01 Hibernate错题分析 解析: 此题目考查的是对Hibernate中交叉连接的理解.HQL支持SQL风格的交叉连接查询,交叉连接适用于两个类之间没有定义任何关联时.在where字句中,通过属性作为筛选条件,如统计报表数据.使用交叉连接时应避免“from Dept,Emp”这样的语句出现.执行这条HQL查询语句,返回DEPT表和EMP表的交叉组合,结果集的记录数为两个表的记录数之积,也就是数据库中的笛卡尔积.这样的查询结果没有实际意义,因此选项b是正确的.A和C答案都是符合上述描述的,是

Hibernate简单用法解析

一.hibernate需要的配置文件 首先hibernate中有两种xml文件. .cfg,xml文件负责配置连接数据库的信息.指定映射类.指定hbm映射文件. .hbm.xml文件负责配置持久化类和数据库表的映射关系. 其次每一个表都有一个对应的"持久化类". 因为hibernate操作数据库是面向对象的,所以当我们要操作某张表时,实际上操作的是该表所对应的持久化类. 二.操作hibernate 在hibernate中,由session类来具体的操作数据库(如增删查改相关持久化类对象

RHCE(7.0)考试题目解析

前期准备: systemctl set-default graphical.target reboot 或者systemctl isolate graphical.target驱动图形化 ifconfig查看IP地址 cat /etc/resolv.conf查看DNS hostname查看主机名 systemctl stop iptables systemctl disable iptables systemctl mask iptables systemctl stop ebtables sy

第九届CDA考试状元访谈,看看状元们都说了啥

第九届CDA数据分析师认证考试在2018年12月底圆满地落下了帷幕. 成绩已经揭晓(https://www.cda.cn/bigdata/26446.html),崭新的证书大抵都抵达每位通过考试的持证人手中啦! 近日,我们采访了在本届考试中名列前茅的几位优秀学员,并在本文中整理了他们的备考和学习经验,希望备考者们能够有所参考,并取得理想的成绩. 今天为大家带来的是CDA认证考试 Level 1 中成绩前六名的几位大神.其中四名并列状元,两位榜眼.下面让我们来一睹他们的风采吧! Level 1 状

基于B/S架构的在线考试系统的设计与实现

前言 这个是我的Web课程设计,用到的主要是JSP技术并使用了大量JSTL标签,所有代码已经上传到了我的Github仓库里,地址:https://github.com/quanbisen/onlineexam,如果喜欢的话请帮我Mark个Star. 摘 要 随着计算机软件技术的高速发展,现代社会正快速迈入了一个互联网应用时代,Web应用在各行业都得到了广泛的应用,如小型公司的运销存管理系统,高校的教务管理系统等都是通过B/S架构搭建的Web应用.在过去的几年中,在线考试系统应用在很多行业都得到了