首页常见问题正文

Hibernate现在淘汰了吗?

更新时间:2023-01-05 来源:黑马程序员 浏览量:

IT培训班

  Hibernate是一款免费开源的持久层操作,它对JDBC进行了轻量级的对象封装,将对象与数据库表建立了映射关系,使Java编程人员可以随心所欲地使用面向对象的编程思想操作数据库。Hibernate具有简单易用、灵活性强、扩展性强等特点,大大提高了程序开发的效率。

  使用传统的JDBC开发小型应用系统,并不会有什么麻烦,但是对于大型应用系统的开发,使用JDBC就会显得力不从心。例如对几十、几百张包含几十个字段的表进行插入操作时,编写的SQL语句不但很长,而且繁琐,容易出错;在读取数据时,需要编写多条语句从结果集中取出各个字段的信息,工作量非常大。为了提高数据访问层的编程效率,GavinKing开发了一个当今最流行的ORM(即Object-Relational Mapping对象关系映射)框架——Hibernate框架。

  ORM就是利用描述对象和关系型数据库之间的映射信息,自动将Java应用程序中的对象持久化到关系型数据库的表中。通过操作Java对象,就可以完成对数据库表的操作。可以把ORM理解为关系型数据和对象之间的一个纽带,开发人员只需要关注纽带一端映射的对象即可。

  Hibernate现在淘汰了吗?

  Hibernate强大到可以说用一行代码就可以解决很多问题,但当我们想说透彻一个save或者update里面做了哪些动作,就涉及到了Hibernate本身和应用方面的逻辑,某一行出现了问题,下一步该怎么做?阿里选择了MyBatis,是因为MyBatis在开发和调优方面同样简单方便,特别是在处理高并发和大量数据的网站服务中功不可没。

1672885302155_MyBatis架构图.jpg

  在国外的市场来看,Hibernate版本的更新速度要快于国内,人气一度超过了ibatis。Hibernate在众多框架中的学习曲线还是比较长的,上手简单,但是想把它用好不容易,中文文档缺乏的比较多一些。但是这些并不能否定Hibernate自身的优势,国内许多IT高手还在用Hibernate,其中的特点像hibernate search从lucene到elasticsearch的平滑过渡,全文检索代码可以说几乎不用做什么调整或者改动。

  与其他操作数据库的技术相比,Hibernate具有以下几点优势。

  1.Hibernate对JDBC访问数据库的代码进行了轻量级封装,大大简化了数据访问层繁琐的重复性代码,并且减少了内存消耗,加快了运行效率。

  2.Hibernate使用Java的反射机制,而不是使用字节码增强程序类,并实现了透明性。

  3.Hibernate的功能强大,映射的灵活性很出色。它支持很多关系型数据库,从一对一到多对多的各种复杂关系。

  4.可扩展性强,由于源代码的开源以及API的开放,当本身功能不够用的时候,可以自行编码进行扩展。

  想把任何一种技术框架用的轻车熟路,都脱离不开贴近业务需求和自身驾驭技术的能力。框架本身没有对错之分,更多的而是适不适合,Hibernate也是如此。在我们没有把一门技术做深入地了解或者现实业务需求不能与框架更好地契合时,我们不能盲目去进行评判框架是否过时。

分享到:
在线咨询 我要报名
和我们在线交谈!