Hibernate和JDBC的区别以及它们各自的优缺点

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与jdbc哪个好?

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值