Hibernate面试题
一.谈一谈Hibernate的缓存机制
1.一级缓存:
内部缓存存在于HIbernate中又叫一级缓存,他属于应用事务级缓存。
2.二级缓存:
01.应用级缓存。
02.分布式缓存。
条件:数据不会被第三方修改,数据大小在可接受范围,数据更新频率低,同一数据库被系统频繁使用,非关键数据。
3.第三方缓存的实现。
二.Hibernate与JDBC的联系
HIbernate是JDBC的轻量级封装,包括JDBC与数据库的连接(用Hibernate.property的配置文件实现,其实本质上是封装了JDBC的forname),和查询 ,删除等代码,都用面向对象的思想用代码联系起来,Hibernate通过hbm配置文件把po类的字段和数据库的字段关联起来比如数据库的ID。在面向对象中就对应的就是:
private Login id; public Long getId(); public setId(Long id);
然后hql语句也是面向对象的,它的查询语句不是查询数据库而是查询类的,这些实现都是通过xml文件,其实到最后Hibernate=封装的jdbc+xml文件。
三.Hibernate自带的分页机制是什么?如果不使用Hibernate自带的分页,则采用什么方式分页?
1.Hibernate自带的分页机制:获得Session对象后,从Session中获取Query对象。用Query.setFirstResult();设置要显示的第一行数据,
Query.setMaxResult();设置要显示的最后以上数据。
2.不使用Hibernate自带的分页,可采用了sql语句分页:
eg:每页显示两条记录,查询第五页数据:
select * top 5 from table where tabId not in(select tabId top(2-1)*5 from table);
Hibernate面试题的更多相关文章
- Hibernate面试题收藏
hibenate的面试总结. 可能现在大家常常还会遇到一个些面试的时候问一些关于hibernate的问题,我个人觉得,这些东西一般做过开发的人在使用上没有任何的问题的,但是如果是要你来说就不一定能够说 ...
- Hibernate考试试题(部分题库)含答案
Hibernate考试试题 (题库) 1. 在Hibernate中,下列说法正确的有( ABC ).[选三项] A.Hibernate是一个开放源代码的对象关系映射框架 B.Hibernate对JD ...
- Hibernate面试题(七)--load与get区别
1. load方式是延迟加载,只有属性被访问的时候才会调用sql语句 get方式是非延迟加载,无论后面的代码是否会访问到属性,马上执行sql语句 2. 都通过id=500去获取对象1. get方式会返 ...
- Java面试题:Hibernate的二级缓存与Hibernate多表查询
我们来看两个有关Java框架之Hibernate的面试题,这是关于Hibernate的常考知识点. 1.请介绍一下Hibernate的二级缓存 解题按照以下思路来回答: (1)首先说清楚什么是缓存: ...
- SSH面试题收藏
Hibernate工作原理及为什么要用? 原理: 1. 读取并解析配置文件2. 读取并解析映射信息,创建SessionFactory3. 打开Sesssion4. 创建事务Transation5. 持 ...
- java web面试题,收集
java面试题: http://www.codeceo.com/article/java-interview-question.html(很多题都很废) http://www.php100.com/h ...
- Java框架 面试题总结
一. Struts1.x 4 1. struts1优缺点,为什么要使用struts1 4 2. Struts1核心组件 4 3. Strust1请求处理流程 工作原理 4 4. Struts1线程安 ...
- 精心收集的SSH框架的面试题汇总
Hibernate工作原理及为什么要用? 原理: 1. 读取并解析配置文件 2. 读取并解析映射信息,创建SessionFactory 3. 打开Sesssion 4. 创建事务Transation ...
- Java初中级程序员面试题宝典
Java基础部分 &与&&区别? &和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假:但是&&当第一个条件不成之后,后面的条件都 ...
随机推荐
- 高性能JavaScript笔记二(算法和流程控制、快速响应用户界面、Ajax)
循环 在javaScript中的四种循环中(for.for-in.while.do-while),只有for-in循环比其它几种明显要慢,另外三种速度区别不大 有一点需要注意的是,javascript ...
- (翻译)如何对python dict 类型按键(keys)或值(values)排序
如何对dict类型按键(keys)排序(Python 2.4 或更高版本): mydict = {'carl':40, 'alan':2, 'bob':1, 'danny':3} for key in ...
- 遍历jsonobject
遍历jsonobject 1 entrySet.iterator生成迭代器 2 从迭代器获取Map.Entry的单元对象 3 获取key和value Map<String,JSONObject& ...
- jpa OneToMany
Project, project_id @OneToMany(mappedBy = "project") private Set<Ap> apSet =new Hash ...
- SQL语句注入
1: select *from user where username='admin' and password='123456' or 1='1'; 万能密码 2: ...
- 编译安装redis
一.版本说明 CentOS版本 [root@localhost ~]# uname Linux [root@localhost ~]# uname -r 2.6.32-431.el6.i686 [ro ...
- 安装glue,用glue批量处理图片的步骤
glue批量处理图片:http://glue.readthedocs.io/en/latest/quickstart.html#and-why-those-css-class-names 首先需要安 ...
- LeetCode —— Merge k Sorted Lists
/* ** 算法的思路: ** 1.将k个链表的首元素进行建堆 ** 2.从堆中取出最小的元素,放到链表中 ** 3.如果取出元素的有后续的元素,则放入堆中,若没有则转步骤2,直到堆为空 */ #in ...
- PostSharp AOP
使用PostSharp 在.NET 平台上实现 AOP 摘要 本文首先介绍AOP(面向方面编程)的相关概念及理论,然后介绍如何使用PostSharp框架在.NET平台上实现AOP,最后对PostS ...
- Mysql 排名查询
原文地址: http://www.cnblogs.com/songshuai/p/5688550.html http://blog.csdn.net/u010503822/article/detail ...