tmobst2an
- (单选题)与下面代码效果相同的HQL 语句是( )。 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 u.name from Useras u where u. Restrictions like 'admin%'
- 正确答案为:A
解析:仔细看题干Restrictions.like("name","admin%")是查询name中的admin%
- 2.(单选题)Hibernate增加数据时可以调用Session的( )方法。
- A)save()
- B)update()
- C)delete()
- D)get()
- 解析:增加数据用save()方法,update()是更新,delete()是删除,get()是取数据
- 3.(单选题)setMaxResult(3)方法中,参数值3是指( )。
- A)从第3条记录开始
- B)从第4条记录开始
- C)查询3条记录
- D)查询4条记录
- 解析:setMaxResult方法是查询多少条语句,参数3就代表查询3条
- 4.(单选题)由持久化状态向游离状态转变的方法不包括( )。
- A)临时状态
- B)无引用状态
- C)持久化状态
- D)游离状态
- 正确答案为:C
解析:仔细看题干
- 5.(单选题)以下哪个 Hibernate 主键生成策略是实现主键按数值顺序递增的( )
- A)increment
- B)identity
- C)sequence
- D)native
- 解析:increment 生成策略:当 Hibernate 准备在数据库表中插入一条新记录时,首先从数据库表中获取当 前主键字段的最大值,然后在最大值基础上加 1,作为当前持久化对象的标识符属性值。这种策略即 increment 生成策略,用其生成的标识符属性的类型可以是 long、short、int 及其封装类的类型 identity 生成策略:在 MS SQL Server、MySQL 和 DB2 等数据库中可以设置表中某一个字段的数值自 动增长,identity 生成策略通过这种方式为当前记录获取主键值的同时为持久化对象赋予标识符属性值。 sequence 生成策略:在 Oracle、DB2 和 PostgreSQL 等数据库中创建一个序列(sequence),然后Hibernate 通过该序列为当前记录获取主键值,进而为持久化对象赋予标识符属性值。 native 生成策略:由 Hibernate 根据所使用的数据库支持能力从 identity、sequence 或者等生成策 略中选择一种。
- 6.(单选题)执行下面代码返回的结果为( )。 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)不返回对象
- 正确答案为:A
解析:desc是降序
- 7.(单选题)Hibernate对JDBC访问数据库的代码进行了封装,从而大大的简化了数据访问层的代码,它是针对三层架构中( )的解决方案。
- A)表现层
- B)业务逻辑层
- C)持久化层
- D)数据库系统
- 解析:在三层架构中Hibernate这个框架主要作用于持久层,strus2在表现层,业务层是spring
- 8.(单选题)下面关于hibernate核心接口说明错误的是?()
- A)Configuration 接口:配置Hibernate,根据其启动hibernate,创建SessionFactory 对象
- B)SessionFactory 接口:负责保存、更新、删除、加载和查询对象,是线程不安全的
- C)Query 和Criteria 接口:执行数据库的查询
- D)Transaction 接口:管理事务
- 解析:SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
- 9.(单选题)下面( )不属于关系—对象映射的映射信息。
- A)程序包名到数据库库名的映射
- B)程序类名到数据库表名的映射
- C)实体属性名到数据库表字段的映射
- D)实体属性类型到数据库表字段类型的映射
- 正确答案为:A
解析:映射中并没有“程序包名到数据库库名的映射”这种方式
- 10.(单选题)由持久化状态向游离状态转变的方法不包括( )。
- A)close()
- B)clear()
- C)lock()
- D)evict()
- 正确答案为:C
解析:lock()是从游离状态变为持久状态
- 11.(单选题)如果数据库是oracle,则generator属性值不可以使用()。
- A)native
- B)identity
- C)hilo
- D)sequence
- 解析:identity:生成long, short或者int类型的主键。适用于MySQL, MS SQL Server, Sybase and HypersonicSQL
- 12.(单选题)下面代码的执行效果是( )。 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)返回分数最低的六个学生
- 正确答案为:C
解析:asc是从小打大,然后传入了2个参数从最低开始取5个
- 13.(单选题)以下不属于Cascade的属性取值的有( )。
- A)all
- B)save
- C)delete
- D)save-update
- 解析:Cascade的属性取值的有all,none,save-update,delete,all-delete-orphan
- 14.(单选题)下面HQL语句的含义是( )。 select stu from TblStudent stu where stu.score > ( select avg(score) from TblStudent )
- A)查询所有学生的平均分
- B)查询得分大于平均分的学生的成绩
- C)查询得分最高的学生
- D)查询得分大于平均分的学生
- 正确答案为:D
解析:avg是求平均数,stu.score > ( select avg(score) from TblStudent )就是求大于平均分的学生
- 15.(单选题)从性能考虑,inverse属性值通常设置为( )。
- A)all
- B)false
- C)true
- D)None
- 正确答案为:B
解析:"inverse"属性只有两个值"true"和"false"。"true"表示将关系维护的权力交给对方,"false"表示不交出维护权力(默认值)。 属性为false的情况下性能较快
- 16.(单选题)级联删除时,cascade属性是( )。
- A)all
- B)save
- C)delete
- D)save-update
- 解析:delete:在执行删除时进行关联操作。
- 17.(单选题)关于HQL与SQL,以下哪些说法正确?()。
- A)HQL与SQL没什么差别
- B)HQL面向对象,而SQL操纵关系数据库
- C)在HQL与SQL中,都包含select,insert,update,delete语句
- D)HQL仅用于查询和删除数据,不支持insert,update语句
- 正确答案为:B
解析:详解见两者概念
- 18.(多选题)下列属于多对一关系的是( )。
- A)书和作者
- B)手机和生产厂家
- C)用户和发布的出租信息
- D)士兵和班长
- 正确答案为:BD
解析:AC是一对多
- 19.(多选题)下面关于Hibernate关联映射说法错误的是()。
- A)配置单项多对一关联映射,在配置文件中需要使用<many-to-one>标签
- B)面向对象领域的关联关系可以分为单向一对多或者单向多对一
- C)人和手机号码之间的关系是一对多关系
- D)cascade属性描述了级联操作的规则
- 解析:B选项:面向对象领域的关联关系不是只有单向一对多或者单向多对一还有双向一对多双向多对一,自身双向关联等等, C选项:人和手机号码之间也可以是多对一,或多对多
- 20.(多选题)对下面代码中存在的错误,说法正确的是()。 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);”
- 正确答案为:ABC
解析:第四行是没有错误的,返回值是对的
tmobst2an的更多相关文章
随机推荐
- 如何根据HttpServletRequets获取用户真实IP地址
最近的一个项目的某个功能获取用户的ip地址,添加用户的系统使用记录. 我发现当我直接使用getRemoteAddr()方法从HttpServletRequet中获取用户的ip时,获取到的是服务器的ip ...
- Spring MVC拦截器配置
Spring MVC拦截器配置 (1)自定义拦截器 package learnspringboot.xiao.other; import org.springframework.web.servlet ...
- Java后台创建Socket服务接收硬件终端发送的数据
最近项目中有遇到后台接收硬件终端发送的数据并解析存储的需求,代码总结如下(有时间再来一一讲解,最近比较忙): @Override public void start() { ExecutorServi ...
- java实现单向循环链表
链表图解 带头结点的链表: 不带头结点的链表: 区别 带头结点的链表容易代码实现 不带头结点的容易实现循环链表和双向链表 代码的实现 (增减 删除) 节点实现: public class node { ...
- 【转】最简单的安装pip的方法
网上有各种方法安装pip,针对不同的系统方法还不一样,最后发现还是下面这种方法最简单,直接了当干脆方便,适用于Windows和Linux. (1)下载pip 进入https://pypi.python ...
- vue中动态设置echarts画布大小
document.getElementById('news-shopPagechart').style.height = this.heightpx2+'px'; //heightpx2定义在data ...
- JUnit 5和Selenium基础(二)
使用Selenium内置的PageFactory实现页面对象模式 在这一部分中,将通过Selenium的内置PageFactory支持类来介绍Page Object模式的实现.PageFactory提 ...
- IPython的介绍与使用
1.IPython简介 ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和 ...
- 大白话建造者模式(Builder Pattern)
前言 起初打算按照之前的日产系列写建造者模式.但参考了网上的很多文章,让我对建造者模式更加的困惑,也害怕自己无法已易懂的方式进行解释.最后通过Google发现了一篇英文文章Builder,使我茅塞顿开 ...
- Linux删除文件 清除缓存
相信很多测试 经常会经历开发叫你清除缓存这种事. 那我们要怎么清呢? 一.首先,确认你要清除的缓存在哪个目录下,然后切换到该目录下,比如 我现在知道我的的缓存目录是在newerp这个目录下,则如图 二 ...