感觉hibernate学起来好难,用起来也难,直接用Jdbc好的了
答案:5 悬赏:60
解决时间 2021-03-06 22:01
- 提问者网友:神仙爷爷
- 2021-03-06 13:50
感觉hibernate学起来好难,用起来也难,直接用Jdbc好的了
最佳答案
- 二级知识专家网友:何必打扰
- 2021-03-06 14:34
Hibernate其实是对JDBC一种轻量级的封装,楼下的某些朋友一看回答的水平就知道根本就没怎么接触过hibernate,今天我就给你好好的介绍下:
Hibetnate一般用做持久层,刚刚也说过了时对JDBC的轻量级封装,传统的对数据库操作无疑是硬编码方式,但是这样做耦合度极高,是非常“化石”的写法,真正的企业级开发你是见不到这样做的,除非特殊情况,我们都知道,现在市面上所有的商用数据库,Oracle,DB2,SqlServer等等都是面向关系的,但是我们使用的编程语言如:c#,Java等等都是面向对象的,面向关系和面向对象之间的操作肯定是不会同步的,这就是我们首先选择Hibernate的一个重要原因,Hibernate完全是采用面向对象的方式来操纵数据库,使我们能够简化开发。
对象之间的依赖关系,继承关系我们都可以采用Hibernate映射到数据库中,这是传统的JDBC望尘莫及的,JDBC查询数据基本上没任何优化可讲,哪怕是采用存储过程也仅仅是提高数据查询速度,根本解决不了大并发查询过程中对数据库造成的压力以及访问次数,但是Hibernate可以做到,采用Hibernate的一级缓存,二级缓存我们可以对数据库进行高性能优化,比如两条相同的查询语句,查询相同的数据,Hibernate首先会从数据库查找,第一次查询的时候,也会把查询的数据放入缓存中最备份,第二次查询的时候就不用访问数据库了,直接从缓存中获取,这就大大的优化的数据库。
Hibernate本身支持传统的sql,也就是JDBC,当然不多用,也懒得用,因为Hibernate提供了面向对象的查询语句HQL,这样完全可以简化SQL语句和弥补面向关系数据库的不足之处。
说了这么多,我也告诉你,Hibernate学起来难度还是有,尤其是对象之间的关联关系,one_to_many,many_to_one等等,是需要你花时间的,真正的企业级开发对数据库实施SRUD不仅仅会采用Hibernate,也会搭上存数过程连用,这样既可以提高访问速度,因为存储过程是预编译,也可以缓解数据库压力,也就是优化。
所以请以后不懂Hibernate的人少答非所问。
Hibetnate一般用做持久层,刚刚也说过了时对JDBC的轻量级封装,传统的对数据库操作无疑是硬编码方式,但是这样做耦合度极高,是非常“化石”的写法,真正的企业级开发你是见不到这样做的,除非特殊情况,我们都知道,现在市面上所有的商用数据库,Oracle,DB2,SqlServer等等都是面向关系的,但是我们使用的编程语言如:c#,Java等等都是面向对象的,面向关系和面向对象之间的操作肯定是不会同步的,这就是我们首先选择Hibernate的一个重要原因,Hibernate完全是采用面向对象的方式来操纵数据库,使我们能够简化开发。
对象之间的依赖关系,继承关系我们都可以采用Hibernate映射到数据库中,这是传统的JDBC望尘莫及的,JDBC查询数据基本上没任何优化可讲,哪怕是采用存储过程也仅仅是提高数据查询速度,根本解决不了大并发查询过程中对数据库造成的压力以及访问次数,但是Hibernate可以做到,采用Hibernate的一级缓存,二级缓存我们可以对数据库进行高性能优化,比如两条相同的查询语句,查询相同的数据,Hibernate首先会从数据库查找,第一次查询的时候,也会把查询的数据放入缓存中最备份,第二次查询的时候就不用访问数据库了,直接从缓存中获取,这就大大的优化的数据库。
Hibernate本身支持传统的sql,也就是JDBC,当然不多用,也懒得用,因为Hibernate提供了面向对象的查询语句HQL,这样完全可以简化SQL语句和弥补面向关系数据库的不足之处。
说了这么多,我也告诉你,Hibernate学起来难度还是有,尤其是对象之间的关联关系,one_to_many,many_to_one等等,是需要你花时间的,真正的企业级开发对数据库实施SRUD不仅仅会采用Hibernate,也会搭上存数过程连用,这样既可以提高访问速度,因为存储过程是预编译,也可以缓解数据库压力,也就是优化。
所以请以后不懂Hibernate的人少答非所问。
全部回答
- 1楼网友:摧毁过往
- 2021-03-06 17:17
你是感觉hibernate学起来难。
但是你真正用熟了,保证比jdbc简单,
而且还比jdbc省时省力。
好好学吧,等你学会了,你就知道那个好了
- 2楼网友:猖狂的痴情人
- 2021-03-06 16:11
我对hibernate没有好感,也不熟,反正我不会用hibernate对sql优化,hibernate执行的效率也不高(我跟踪过),一般的大公司都有自己的一套系统,小公司都喜欢用hibernate,行业中多hibernate的评价不是很高,了解了,会用就可以了,不建议研究的太多
- 3楼网友:桃花别处起长歌
- 2021-03-06 15:58
学JAVA的不了解整个一套SSH是不行的。。。
- 4楼网友:陪我到地狱流浪
- 2021-03-06 15:48
hibernate开销大啊,最简单的思路,功能多,一定占内存,
但一般情况下,hibernate对很多访问进行了缓存,进行了很多优化,占内存多,但性能不错,
自己来用jdbc的话,小项目无所谓了,大项目下性能往往不如hibernate,因为没有hibernate优化的好.
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |