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错题分析

时间: 2024-10-14 21:38:06

03 Hibernate错题分析的相关文章

02 Hibernate错题分析

解析:使用final修饰的成员变量是常量 解析:不存在StateMoreSession的对象 解析:一个PreparedStatement 可以执行多次executQuery方法 解析:A   使用HQL处理海量数据性能极低,不能采用这种方式. B.  JDBC API性能最好,最适合处理海量数据. C.  如果一次性flush,Hibernate会将操作的对象全部放到自身的内部缓存,将会造成内存溢出,所以也不能采用这种方式. D.  如果分为多次flush,可及时将缓存清除,也不失为一种办法.

Hibernate 错题分析

hibernate错题解析

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

【好程序员笔记分享】Obj-c之错题分析

由于错题点击提交后不能在进入,所以只能记下小部分开始就弄不清楚的Obj-c的题目(希望能改进一下,这样更利于学习). 1.Obj-c中变量的作用域问题.Obj-C语言支持用public.private和protected对其作用域进行设定.其中默认值为protected,表示在这个类及其派生类中可以访问该变量.public表示这个类以及其派生类,还有类外都可以对该变量进行访问,这是较不安全的.private表示只有这个类可以访问该变量,值得提出的一点是,若父类中有某private变量,则其子类不

Jsp 错题分析

ArrayList删除元素通过RemoveAt(int index)来删除指定索引值的元素 运行时异常都是RuntimeException类及其子类异常,如NullPointerException.IndexOutOfBoundsException等, 这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理.这些异常一般是由程序逻辑错误引起的, 程序应该从逻辑角度尽可能避免这类异常的发生. 本题考查对异常处理的理解.通常,Java的非检查异常(编译器不要求强制处置的异常):包括运行时异常(R

orcale错题分析

删除同义词语法正确的是: Drop  synonym sy nonym_name; 关于Oracle创建间隔分区后,正确的是: 使用partition(分区名)可以查看特定分区内存放的表记录 关于序列描述正确的是: 创建序列的权限是create sequence或create any sequence nextval的作用是返回序列中下一个有效的值 什么操作会导致用户连接到oracle数据库,但不能创建表 授予了connect的角色,但没有授予resource的角色 关于Oracle数据库中创建

错题分析--ASP.NET

解析:支架模板支持的类型包括Empty.Create.Delete.Details.Edit.List 解析:Spring支持4种依赖检查:默认的是none.因此说法不正确的结果是D 解析:各层之间不是都能相互访问的 解析:在解析XML文件数据绑定在TreeView控件操作中,需要在TreeView控件的DataBindings属性里,找到TextField属性并设置值.TextField属性是数据绑定时用于节点的Text属性的表列或XML特性名,所以还需要把节点的名称赋值给TextField属

错题分析

题目中“鼠标离开文本框时”说明焦点失去了,而选项中失去焦点的只有B,所以选B A选项多了h2标签. B选项应该是  $("#top1") D选项应该是  $("div #top1") A有语法错误,B,C不存在 只有D语法正确 因为C是后代选择器 onfocus 元素获得焦点 onblur 元素失去焦点 onsubmit 确认按钮被点击 onkeydown 某个键盘按键被按下 D选项中的id选择器是header1,而题目中没有id为header1的 D选项是错的,他

关于第一次考核的错题分析

本次考核我自己还是单选题错的比较多,主要集中在法律法规方面差的还比较多,所以针对自己做错的题目自己查了一下资料,针对学习了一下. 反掩码就是通配符,通过标记0和1告诉设备应该匹配到哪位.在反掩码中,相应位为1的地址在比较中忽略,为0的必须被检查.IP地址与反掩码都是32位的数 由于跟子网掩码刚好相反,所以也叫反掩码 . 例如掩码是255.255.255.0 , wildcard-mask 就是0.0.0.255 , 255.255.255.248 , 反掩码就是0.0.0.7. 可以看到这道题中