错题集07

解析:

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


解析:第二次查询要说明是从缓存中查询


解析:
答案A中,HQL的select语句中的类名和属性名是区分大小写的;答案B中,HQL是支持统计函数的;答案D中,绑定参数的序号从0开始。所以ABD都不正确,只有C是正确的。因此答案是c。




解析:

B答案不是hibernate中list方法返回结果的正确类型,list方法只会返回List集合类型,因此选项B是错误的。C和D答案是迷惑选项,因为HQL语句中对Dept部门和d.emps部门员工进行了连接查询,查询结果中同时包括Dept和d.emps的属性,它们既不会被造型为Dept,也不会被造型为Emp,因此选项C和D是错误的。A答案返回的是List类型,同时指定List的泛型为Object[],数组中第一个元素是Dept类型,包含Dept的属性集。数组中第二个元素是Emp类型,包含Emp的属性集,因此选项A是正确的。



解析:
因为没有center join语法,所以C错;
因为题目是用cross join,所以AB错


解析:one-to-one配置的查询,必须查询到另一个实体


解析:经常被修改的数据需要一级缓存存储,而二级缓存存储查询的数据和常量数据。财务数据存储一些重要的数据,不只是需要简单的查询,需要修改,所以需要用一级缓存进行存储。


解析:Session为一级缓存,SessionFactory为二级缓存


解析:
学员应注意二级缓存使用的要求。二级缓存使用时,经常被修改的数据不适用与放入二级缓存,因此A不正确;在多个应用之间共享的数据也不适合加入二级缓存,因为Hibernate不能自动保证在一个应用修改其中数据后缓存数据会与数据库保持一致,因此B不正确。


解析:
因为如 A right join B 即取出B表的所有数据,由on条件关联的A表数据,有则显示,没有则为空;所以B错;


解析:
 inner join [fetch]为内连接的语法,left [outer] join 为左外连接的语法,right [outer] join为右外连接的语法,[inner] join fetch为迫切内连接的语法,所以本题正确选项是C。


解析:

本题考查的是HQL内连接与迫切内连接的区别。选项A的说法不正确,因为只有迫切内连接才会立即加载连接数据,普通内连接在初始化时set集合并不会立即加载数据。
选项B的说法是正确的,emps集合不会被初始化。选项C的说法也是正确的,第二句是迫切内连接,所以数据会立即加载。选项D是误导选项。


解析:

本题中唯一错误的选项为D,因为fetch只对inner join 和left join有效,对right join无效。


解析:
在HQL查询语句中,如果通过对Emp类赋别名“e”,可以通过e.dept.dname的形式访问dept对象的dname属性,使用隐式内连接按部门条件查询员工信息,因此选项B是正确的。另外也可以显式使用inner join关键字内连接e.dept对象,因此选项C也是正确的。A答案中虽然使用了inner join关键字,但是连接对象使用不正确,这样做会导致“could not found the property Dept of Emp”的错误,即在Emp类中找不到叫作Dept的属性。原因是Hibernate是一款基于ORM的解决方案,在HQL语句执行之前已经对表和持久化对象作了映射,Hibernate只知道Emp中有dept属性,而不知道Dept,因此选项A是错误的。B答案是照搬SQL语句的写法,该写法用在HQL中会导致将“研发部”这个部门对象与每一个Emp员工对象匹配的结果,总记录数等于Emp员工的记录数,因此选项B是错误的。


解析:
对于经常使用的查询语句,如果启用了查询缓存,当第一次执行查询语句时,Hibernate会把查询结果存放在第二缓存中。以后再次执行该查询语句时,只需从缓存中获得查询结果,从而提高查询性能。所以本题正确选项是AB。


解析:
在HQL迫切连接中,fetch关键字只对inner join和left join有效。对于right join而言,由于作为关联对象容器的“左边”对象可能为null,所以也就无法通过fetch关键字强制Hibernate进行集合填充操作,因此选项a是正确的。B答案是将fetch用在迫切左外连接的正确用法。C答案是将fetch用在显示迫切内连接的正确用法。D答案是将fetch用在隐示迫切内连接的正确用法。由于题目要求选择用法不正确的选项,因此选项B、C、D是错误的。


解析:
A一级缓存和二级缓存能进行交互,需要配置 关闭二级缓存
B 没有此配法
C 可以在相应的映射进行配置
D 正确


解析:
执行from Dept d inner join d.emps返回的集合中,每个元素是一个Object[ ];执行from Dept d inner join fetch d.emps返回的集合中,每个元素是一个Dept对象。执行from Dept d inner join d.emps所得到的Dept对象中的emps属性是未初始化,即没有存储关联的Emp对象;执行from Dept d inner join fetch d.emps所得到的Dept对象中的emps属性才是初始化好的。


解析:B、数据库可以永久保存数据,而且有访问权限,可以保证数据的安全性。     D、添加事务操作才能对数据进行操作,锁主要用于多用户环境下保证数据库完整性和一致性。
时间: 2024-10-20 14:46:51

错题集07的相关文章

node学习错题集

1.请求路径/favicon.ico 问题:node http.createServer()创建服务器,用户请求一次,但是服务器显示两次请求:一次为用户请求,一次请求路径为/favicon.ico ?? 代码如下: var http = require('http'); http.createServer(function(req,res){ console.log( req.url ); }).listen(8080);console.log("The server is on ...&quo

大学生活6 上课应该记笔记。应不应该有错题集?

个人观点.认为对,就做.认为错,就不做.即可 好记性不如烂笔头.上课应该记笔记,而且每一个必修,专业选修课程都应该有一个笔记本.有的人会说了,每个课程都有一个本子,那得多费钱呀.我说,不呀.你到网上买2,3块钱一个本子,课程笔记不建议你买厚的本子.为啥?你算一算,一学期有多少次课,每次课有几节,一节课你会记多少内容.你就会发现本子不需要太厚的. 每到期末考试阶段,有的同学就会说:史诗级灾难大片开始上演.为什么会出现这种现象?因为平时上课没有好好学习,作业不认真做,而且到了期末考试的时候发现自己手

C语言错题集

2018-10-02 C语言错题集 main 是一个合法的标识符吗? 答:是,main 是函数的标识符名称. 如果有符号常量定义如下: 1 #define F(n) 2*n 那么请问代码中 F(3+2) 的值等于多少? 答:F(3+2) == 2*3+2 == 8,注意,宏定义是在程序编译时先进行的预处理,做法是直接将标识符替换为常量,并不会进行相关运算.因此,直接将 F(3+2) 替换为 2*3+2. 我们说 printf() 是一个用于格式化打印的函数,那 sizeof() 是一个函数吗?

数据结构——二叉树错题集

2-11 任何一棵二叉树的叶结点在先序.中序和后序遍历序列中的相对次序 遍历顺序 ,令所有遍历中的 根==NULL 遍历顺序都是 左右,即左节点先于右节点,不会改变顺序: 2-xx 先序序列遍历为 a b c d 的二叉树有多少个? 14 运用卡特兰算式 , n = 4 ,ans = C(n,2*n)/(n+1) = 14 1-5: 若一个结点是某二叉树的中序遍历序列的最后一个结点,则它必是该树的前序遍历序列中的最后一个结点. 错误: 特例: A-B-C 一条线上,C是根节点: 中序遍历:ABC

[初赛备战]计算机基础知识错题集(1)

这里整理一些错题,太sb的题就没放上来了,有些题还有疑问,求大佬解答,然后解析都是来自网络(wiki和百度百科),无法保证正确性. 在微机中,通用寄存器的位数是() A.8 位    B.16 位   C.计算机字长  D.32 位 计算机字长不仅是CPU一次可处理的位数,同时也是寄存器的位数. 不同的计算机,其指令系统也不相同,这主要取决于( ) A.所用的 CPU    B.所用的操作系统   C.所用的程序设计语言  D.系统的总体结构 主要是取决于所用的CPU指令系统的意思是计算机硬件的

错题集

1.通过ServletResponse的()方法可以设置响应的字符编码类型(选择一项). A:setCharacterEncoding (String charset) B:setCharacterEncode (String charset) C:setCharset (String charset) D:setPageEncoding (String charset) 解析:request.setCharacterEncoding("UTF-8"); 2.在设计Web项目的目录结构

错题集!!!

1.通过ServletResponse的()方法可以设置响应的字符编码类型(选择一项). A:setCharacterEncoding (String charset) B:setCharacterEncode (String charset) C:setCharset (String charset) D:setPageEncoding (String charset) 解析:request.setCharacterEncoding("UTF-8"); 2.在设计Web项目的目录结构

错题集03

(选择一项) 3 A: B: C: D: 正确答案是 B 解析: LinkedList是实现List,Collection接口,是链表方式进行构建的,根据开发要求不同,可以使用LinkedList实现栈(先进先出)和堆(先进后出)这样的数据结构. (选择一项) 4 A: B: C: D: 正确答案是 C 解析: 由于Hashtable是线程安全的,所以在单程环境下它比HashMap要慢.如果你不需要同步,只需要单一线程,那么使用HashMap性能要好过Hashtable. (选择二项) 8 A:

历年错题集2015

2015年下半年系统集成项目管理工程师真题(上午)解析 第9题: 所有以满足企业和机构业务发展而产生的信息化需求为目的,基于( )的专业信息技术咨询服务.系统集成服务.技术支持服务等工作,都属于信息系统服务的范畴. A.互联网与信息技术 B.互联网与信息理念 C.信息技术与信息化理念 D.工业化和信息化 C     所有以满足企业和机构业务发展而产生的信息化需求为目的,基于信息技术和信息化理念的专业信息技术咨询服务.系统集成服务.技术支持服务等工作,都属于信息系统服务的范畴. 第16题: 数据仓