03 Hibernate错题分析
1.在Hibernate中,以下关于主键生成器说法错误的是( C)。
A.increment可以用于类型为long、short或byte的主键
B.identity用于如SQL Server、DB2、MySQL等支持标识列的数据库
C.sequence用于如Oracle、SQL Server等支持序列的数据库
D.native由Hibernate根据底层数据库自行判断采用何种主键生成策略,是由使用的数据库生成主键的值
解析:C 、sequence不能用于SQL Server数据库
2.使用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
解析:AD、 B选项中不能存在* 这种写法。C选项中 select 后紧跟的是Dept表的别名d.
3.在HQL中,关于Query接口绑定参数的方法,说法正确的是(ABCD )。
A.setParameter( )方法用于绑定任意类型的参数
B.setParameter( )有重载的方法
C.setProperties( )有重载的方法
D.setProperties( )方法用于绑定命名参数
4.在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表的主键名
解析:<many-to-one>标签中的column属性值DEPTNO指的是emp表中的外键
5.在Hibernate映射文件中,关于inverse属性说法正确的是( ACD)。
A.inverse属性有两个值:true、false
B.<many-to-one>标签有inverse属性
C.<set>标签有inverse属性
D.inverse属性用于指定维护关联关系的那一方
解析:<many-to-one>标签不存在inverse属性
6.在Hibernate映射文件中,关于<component>标签说法正确的是( D)。
A.<component>标签用来映射组件类
B.<component>标签通过<parent>指定组件类所属的整体类
C.<component>标签通过<property>指定组件类的属性
D.<component>标签有id、name、class属性
解析:<component>标签没有id属性
7.在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;
8.关于Hibernate缓存说法错误的是( CD)。
A.Hibernate缓存一般分为三类:一级缓存、二级缓存和查询缓存
B.Session的evict( )方法用于从缓存中清除指定的持久化对象
C.Session的clear( )方法用于刷新缓存
D.Session的flush( )方法用于从缓存中清除所有持久化对象
解析:Session的clear( )方法用于清空缓存,Session的flush( )方法用于刷新缓存
9.关于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用于迫切右外连接
解析:连接查询中无迫切右外连接
10.关于Hibernate批量处理数据说法正确的是( CD)。
A.使用HQL进行批量操作,Hibernate不支持批量插入
B.使用JDBC API进行批量操作,SQL语句中涉及的数据会被加载到Session缓存,占用内存空间
C.使用Session进行批量操作,数据会被加载到Session缓存,需注意刷新并清空缓存
D.使用Session进行批量操作,适用于需要通过代码处理的复杂的业务逻辑场景
解析:A、 hibernate支持批量插入。有三种方法:①通过HQL ②JDBC API ③Session
B、使用JDBC API进行批量操作,SQL语句中涉及的数据不会被加载到Session缓存,因此不会占用内存空间,只有使用session进行批量操作时会进缓存
11.关于HQL子查询中,说法错误的是(C )。
A.size( )或size用于获取集合中元素的数目
B.elements( )获取集合中的所有元用于素
C.any关键字用于子查询语句返回所有记录
D.in关键字与“=any”意思相同
解析:any关键字用于子查询语句返回任意一条记录
12.关于原生SQL查询和命名查询,说法正确的是(ABC )。
A.执行原生SQL,需使用SQLQuery对象
B.SQLQuery是一个接口,继承了Query接口
C.Hibernate支持在映射文件中定义字符串形式的查询语句,这样的语句是命名查询语句
D.命名查询语句只能是HQL语句,不能是SQL语句
解析:命名查询语句分为HQL查询语句和原生SQL查询语句。HQL查询语句使用<query>元素定义。原生SQL使用<sql-query>元素定义
13.在Hibernate中,关于Criteria运算方法说法错误的是( CD)。
A.Restrictions.ge( )方法等同于HQL运算符 >=
B.Restrictions.like("empName","s",MatchMode.START)方法用于查找姓名以s开头的员工
C.Restrictions.disjunction( )方法用于指定多个逻辑与
D.Restrictions.in( )方法只能用于数组
解析:Restrictions.disjunction( )方法用于指定多个逻辑或。Restrictions.in( )方法能用于数组,也能返回Collection
14.在Hibernate中,关于注解说法正确的是( ABD)。
A.@Id用于声明持久化类的唯一标识,对应于数据表中的主键
B.@Cloumn用于将属性映射到列
C.@Transient用于忽略该属性,需要持久化到数据库
D.@GeneratedValue用于定义主键值的生成策略
解析:@Transient用于忽略该属性,不需要需要持久化到数据库
03 Hibernate错题分析的更多相关文章
- 01 Hibernate错题分析
解析: 此题目考查的是对Hibernate中交叉连接的理解.HQL支持SQL风格的交叉连接查询,交叉连接适用于两个类之间没有定义任何关联时.在where字句中,通过属性作为筛选条件,如统计报表数据.使 ...
- 02 Hibernate错题分析
解析:使用final修饰的成员变量是常量 解析:不存在StateMoreSession的对象 解析:一个PreparedStatement 可以执行多次executQuery方法 解析:A 使用H ...
- Hibernate 错题分析
- hibernate错题解析
01 Hibernate错题分析 解析: 此题目考查的是对Hibernate中交叉连接的理解.HQL支持SQL风格的交叉连接查询,交叉连接适用于两个类之间没有定义任何关联时.在where字句中,通 ...
- jQuery考试之错题分析
获取元素范围大小顺序依次为: $(#one).siblings("div")>$("#one~div")>$("#one +div&quo ...
- Jsp 错题分析
ArrayList删除元素通过RemoveAt(int index)来删除指定索引值的元素 运行时异常都是RuntimeException类及其子类异常,如NullPointerException.I ...
- 错题分析--ASP.NET
解析:支架模板支持的类型包括Empty.Create.Delete.Details.Edit.List 解析:Spring支持4种依赖检查:默认的是none.因此说法不正确的结果是D 解析:各层之间不 ...
- UI测试 错题分析
从服务器端获取的json对象,可以直接访问对象中的属性 该属性的作用就是C text属性显示节点文本,state属性默认为open 看错行 不能用 ' ' 包裹 state:节点状态,'open' ...
- orcale错题分析
删除同义词语法正确的是: Drop synonym sy nonym_name; 关于Oracle创建间隔分区后,正确的是: 使用partition(分区名)可以查看特定分区内存放的表记录 关于序列 ...
随机推荐
- URL-统一资源定位器
URL - Uniform Resource Locator URL 可以由单词组成,比如 “w3school.com.cn”,或者是因特网协议(IP)地址:192.168.1.253.大多数人在网上 ...
- Objective-C instancetype关键字
instancetype是clang 3.5开始,clang提供的一个关键字 表示某个方法返回的未知类型的Objective-C对象 instancetype会告诉编译器当前的类型,这点和NSObj ...
- Powershell 学习笔记【持续更新】
1. 判断一个对象是不是空可以用 $null来比较 2. 判断一个字符串是不是空的: [string]::IsNullOrEmpty(...) 3. 在powershell中把结果输出为一个CSV格式 ...
- Android Animation学习(二) ApiDemos解析:基本Animators使用
Android Animation学习(二) ApiDemos解析:基本Animatiors使用 Animator类提供了创建动画的基本结构,但是一般使用的是它的子类: ValueAnimator.O ...
- 操作系统开发系列—13.h.延时操作
计数器的工作原理是这样的:它有一个输入频率,在PC上是1193180HZ.在每一个时钟周期(CLK cycle),计数器值会减1,当减到0时,就会触发一个输出.由于计数器是16位的,所以最大值是655 ...
- [转]Android逆向之动态调试总结
一.在SO中关键函数上下断点 刚学逆向调试时.大多都满足于在SO中某关键函数上下断点.然后通过操作应用程序,去触发这个断点,然后进行调试 详细的步骤可以参见非虫大大的<Android软件安全与逆 ...
- jquery非空验证功能
<script type="text/javascript"> $(function(){ /************* ...
- cocoapods pod setup
在终端 输入 pod setup 之后 你会发现 一直没有反应 会出现这种情况 如下图 你要耐心等一下. 直到看到Setup completed 就算是成功了.(你的网络要好) ...
- 【代码笔记】iOS-抽屉效果的实现
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...
- IOS NSTimer和CADisplayLink的用法
IOS--NSTimer和CADisplayLink的用法 NSTimer初始化器接受调用方法逻辑之间的间隔作为它的其中一个参数,预设一秒执行30次.CADisplayLink默认每秒运行60次,通过 ...