首頁常見問題正文

Hibernate現在淘汰了嗎?

更新時間:2023-01-05 來源:黑馬程序員 瀏覽量:

IT培訓班

  Hibernate是一款免費開源的持久層操作,它對JDBC進行了輕量級的對象封裝,將對象與數據庫表建立了映射關系,使Java編程人員可以隨心所欲地使用面向對象的編程思想操作數據庫。Hibernate具有簡單易用、靈活性強、擴展性強等特點,大大提高了程序開發(fā)的效率。

  使用傳統的JDBC開發(fā)小型應用系統,并不會有什么麻煩,但是對于大型應用系統的開發(fā),使用JDBC就會顯得力不從心。例如對幾十、幾百張包含幾十個字段的表進行插入操作時,編寫的SQL語句不但很長,而且繁瑣,容易出錯;在讀取數據時,需要編寫多條語句從結果集中取出各個字段的信息,工作量非常大。為了提高數據訪問層的編程效率,GavinKing開發(fā)了一個當今最流行的ORM(即Object-Relational Mapping對象關系映射)框架——Hibernate框架。

  ORM就是利用描述對象和關系型數據庫之間的映射信息,自動將Java應用程序中的對象持久化到關系型數據庫的表中。通過操作Java對象,就可以完成對數據庫表的操作??梢园袿RM理解為關系型數據和對象之間的一個紐帶,開發(fā)人員只需要關注紐帶一端映射的對象即可。

  Hibernate現在淘汰了嗎?

  Hibernate強大到可以說用一行代碼就可以解決很多問題,但當我們想說透徹一個save或者update里面做了哪些動作,就涉及到了Hibernate本身和應用方面的邏輯,某一行出現了問題,下一步該怎么做?阿里選擇了MyBatis,是因為MyBatis在開發(fā)和調優(yōu)方面同樣簡單方便,特別是在處理高并發(fā)和大量數據的網站服務中功不可沒。

1672885302155_MyBatis架構圖.jpg

  在國外的市場來看,Hibernate版本的更新速度要快于國內,人氣一度超過了ibatis。Hibernate在眾多框架中的學習曲線還是比較長的,上手簡單,但是想把它用好不容易,中文文檔缺乏的比較多一些。但是這些并不能否定Hibernate自身的優(yōu)勢,國內許多IT高手還在用Hibernate,其中的特點像hibernate search從lucene到elasticsearch的平滑過渡,全文檢索代碼可以說幾乎不用做什么調整或者改動。

  與其他操作數據庫的技術相比,Hibernate具有以下幾點優(yōu)勢。

  1.Hibernate對JDBC訪問數據庫的代碼進行了輕量級封裝,大大簡化了數據訪問層繁瑣的重復性代碼,并且減少了內存消耗,加快了運行效率。

  2.Hibernate使用Java的反射機制,而不是使用字節(jié)碼增強程序類,并實現了透明性。

  3.Hibernate的功能強大,映射的靈活性很出色。它支持很多關系型數據庫,從一對一到多對多的各種復雜關系。

  4.可擴展性強,由于源代碼的開源以及API的開放,當本身功能不夠用的時候,可以自行編碼進行擴展。

  想把任何一種技術框架用的輕車熟路,都脫離不開貼近業(yè)務需求和自身駕馭技術的能力??蚣鼙旧頉]有對錯之分,更多的而是適不適合,Hibernate也是如此。在我們沒有把一門技術做深入地了解或者現實業(yè)務需求不能與框架更好地契合時,我們不能盲目去進行評判框架是否過時。

分享到:
在線咨詢 我要報名
和我們在線交談!