面试题:谈谈你对hibernate的理解
说说这类问题一般要和一个东西比較。说说他们的长处和缺点,hibernate就和JDBC比較呗。你就说说JDBC的优缺点。然后说说hibernate的优缺点,最后对照得出hibernate更好。
hibernate:
1、概念:ormapping 对象关系映射
1、操作数据库的框架
底层是通过jdbc操作数据库的
2、用面向对象的方式操作数据库
2、jdbc的缺点
1、代码太繁琐了
2、不是面向对象的数据库操作
3、资源关闭的代码也非常繁琐,每次都得打开、关闭
4、没有做到数据缓存
5、移植性比較差
长处:
由于是最低层的操作。所以效率比較高
3、hibernate
1、代码比較精简了
2、是面向对象的数据库操作
3、仅仅须要关闭一个对象就能够了session
4、数据缓存 一级缓存 二级缓存 查询缓存
5、移植性比較好
缺点:
1、程序猿不能控制sql语句的生成
hibernate中有一个hql
2、假设一个项目对sql语句的优化要求特别高。不适合用hibernate
3、假设一张表的数据量特别大。不适合用hibernate
对于查询数据库的sql优化问题。这里有一个面试题,给你一个学生student表,叫你用各种方式查询出指定的学生信息
这里有五种方式得出指定学生2,3,4的信息
--方式一
select *
from student
where id in(2,3,4) --方式二
select *
from student
where id =2 or id=3 or id=4 --方式三
select *
from student
where id between 2 and 4 --方式四
select *
from student
where id>=2 and id<=4 --方式五
select *
from student
where id=2
union
select *
from student
where id=3
union
select *
from student
where id=4
面试题:谈谈你对hibernate的理解的更多相关文章
- 谈谈你对Hibernate的理解
答: 1. 面向对象设计的软件内部运行过程可以理解成就是在不断创建各种新对象.建立对象之间的关系,调用对象的方法来改变各个对象的状态和对象消亡的过程,不管程序运行的过程和操作怎么样,本质上都是要得到一 ...
- 谈谈嵌套for循环的理解
谈谈嵌套for循环的理解 说for的嵌套,先说一下一个for循环的是怎么用的. 这次的目的是为了用for循环输出一个乘法口诀表,一下就是我的一步步理解. 一. 语法: ...
- JVM(一),谈谈你对java的理解
一.谈谈你对java的理解 1.Java特性 (1)平台无关性 一次编译到处运行 (2)GC 垃圾回收机制 (3)语言特性 泛型-反射机制-lambda表达式 (4)面向对象 面向对象语言-三大特性( ...
- 【面试普通人VS高手系列】谈谈你对AQS的理解
AQS是AbstractQueuedSynchronizer的简称,是并发编程中比较核心的组件. 在很多大厂的面试中,面试官对于并发编程的考核要求相对较高,简单来说,如果你不懂并发编程,那么你很难通过 ...
- 【Java面试】面试遇到宽泛的问题,这么回答就稳了,谈谈你对Redis的理解
"谈谈你对Redis的理解"! 面试的时候遇到这类比较宽泛的问题,是不是很抓狂? 是不是不知道从何开始说起? 没关系,今天我用3分钟教你怎么回答. 大家好,我是Mic,一个工作了1 ...
- 谈谈对hibernate的理解
它是ORM思想的一个实现,对JDBC进行了很好的封装,它通过配置使JavaBean对象和数据库表之间进行映射,并提供对增.删.改.查便利的操作方法,同时支持事务处理,它对数据库记录还提供了缓存机制,提 ...
- Java面试题之谈谈你对Struts的理解
1. struts是一个按MVC模式设计的Web层框架,其实它就是一个大大的servlet,这个Servlet名为ActionServlet,或是ActionServlet的子类.我们可以在web.x ...
- 框架面试题:谈谈我对Spring IOC与DI的理解
IOC是一种叫做“控制反转”的设计思想. 1.较浅的层次——从名字上解析 “控制”就是指对 对象的创建.维护.销毁等生命周期的控制,这个过程一般是由我们的程序去主动控制的,如使用new关键字去创建一个 ...
- 面试题-谈谈你对Java平台的理解
平台无关性 GC 语言特性 面向对象 类库 异常处理 一次编译到处运行 JVM如何加载Class文件 Java反射 ClassLoader 种类 双亲委派机制 loadcalss和forName
随机推荐
- hibernate CascadeType属性
CascadeType.PERSIST 只有A类新增时,会级联B对象新增.若B对象在数据库存(跟新)在则抛异常(让B变为持久态) : 级联保存,当调用了Persist() 方法,会级联保存相应的数据 ...
- IP windows相关
nbtstat: 假设 我们 通过net view 获取了 局域网内一些计算机名 如上标红的计算机名称 如何 才能获取计算机的ip呢? 接下来使用 nbtstat -a 列出远程机器的名称表: ...
- fl2440hello world模块驱动编写
许多语言,例如C,C++,JAVA等等都是从hello world开始的,因此我们的驱动程序的开发也要从hello world入手. 首先来看下我们的代码: /******************** ...
- 【DP】UVA 624 CD 记录路径
开一个数组p 若dp[i-1][j]<dp[i-1][j-a[i]]+a[i]时就记录下p[j]=a[i];表示此时放进一个轨道 递归输出p #include <stdio.h> # ...
- hexo 使用教程
hexo 使用教程 这个早就用起来了,写给需要的小伙伴 mayufo.github.io 先扔出自己的地址 安装 想玩hexo,需要安装以下应用 git node 安装完成在终端输入 $ npm in ...
- Python 3 初探,第 1 部分: Python 3 的新特性
Python 3 是 Guido van Rossum 功能强大的通用编程语言的最新版本.它虽然打破了与 2.x 版本的向后兼容性,但却清理了某些语法方面的问题.本文是系列文章中的第一篇,介绍了影响该 ...
- Django——20141014深入理解Django HttpRequest HttpResponse的类和实例
深入理解Django HttpRequest HttpResponse的类和实例 了解META选项 了解中间件 理清所有模板传输模板变量的方式,并作出选择 Django模板系统:如何利用Django模 ...
- .NET--百度百科
.NET是 Microsoft XML Web services 平台.XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统.设备或编 ...
- CASE WHEN 的用法
Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...
- 应用phpexcel导出excel文件后打不开的问题解决方法
应用phpexcel导出excel文件后打不开,提示“文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配”. 试了以下方法: 1.首先区分文件格式是2003,还是2007. 参 ...