hibernate和jdbc有什麼區別?(面試題)

2023-01-05 21:36:01 字數 4798 閱讀 1239

1樓:神戶牛肉

各有各的好處,其實hibernate就是對jdbc的封裝,jdbc效率高,但操作麻煩,hibernate操作方便,但是效率比jdbc低。

2樓:匿名使用者

其實面試題的話沒必要記住那麼多的條條框框的,如果你不知道這個問題的話應該是個新手吧,主要讓面試你的人知道你會用就行,面試不是學校的考試,有時候卡卡列幾條出來不見得好,把核心的精髓用自己話表達出來就行

3樓:_緣如此

面試題其實不一定詳細為好,要儘量打出來自己的見解,口語化一點。這樣不會讓面試官覺得你是提前做好了準備的嘛。。。所以光說說 使用上的不同就差不多了。。。

可以多看看樓上的那些答案,然後自己總結出適合自己的語氣的答案羅。。。

hibernate和jdbc有什麼區別?(面試題)

4樓:疏朗新思考

hibernate是orm框架,是對底層連線資料庫和查詢資料庫進行封裝。是jdbc一種實現,比如jdbc是介面,那麼hibernate就是一個封裝的物件類。

而hibernate是一個純正的物件導向框架而jdbc相當於一個程序導向的語句。所以在專案中應用直接使用jdbc不夠物件導向,而hibernate則是。

5樓:

hibernate:將資料封裝到物件中,通過操作物件完成資料庫操作jdbc:直接運算元據

hibernate底層實現為jdbc 包裝了很多的東西 稱之為框架

如果是面試,不需要回答太詳細、知道本質的區別就行啦!

j**a基礎面試題都有哪些?

hibernate如此之強悍,為什麼還用jdbc

6樓:生活he家

為了讓你熟悉起原理。如果直接給你講hb你可能不理解

7樓:

hibernate底層的原理還是jdbc實現的,只是把jdbc封裝起來,封裝成新的框架hibernate,這樣程式設計師寫**的時候效率會提高很多

jdbc和hibernate的區別

8樓:匿名使用者

jdc操作的是資料,hibernate操作的是資料封裝過的類

第二個就是字面上的意思啊

9樓:匿名使用者

hibernate的底層還是jdbc,只不過額外封裝了很多東西而已。。例如事務,sessionfacotory等等..給你舉個例子,你需要買一瓶醬油。

你直接跑到醬油工廠裡去拿了一瓶,因為你需要醬油,所以你去拿。而hibernate的作用就是超市,你需要醬油的時候直接去超市裡買,而不是直接去工廠..超市的將有賣完了,它自己就去工廠裡進貨,至於如何進貨,你完全不用關心,只需要配置好各種配置檔案就ok。

我知道你又會有疑問了。。當超市的貨物不能滿足你的時候,就比如說你需要一架飛機,當時超市沒有賣。這個時候hibernate也提供了hql和sql,讓你直接去工廠裡提貨。。

超市裡還有包換,這個就是事務了。。你需要買一瓶醬油一瓶醋,你總不能買瓶醬油回家 然後再來超市買醋吧。。事實上你是買了醬油然後再買瓶醋然後一起回家。

;這個就類似與hibernate的transaction了。。 親,你學到了沒。。哥打了這麼久的字。。

hibernate與jdbc哪個好?各自的優點和缺點

10樓:嗡嗡大佬

hibernate與jdbc相比較的主要優點是:

一、物件導向:hibernate可以讓開發人員以物件導向的思想來運算元據庫。jdbc只能通過sql語句將後設資料傳送給資料庫,進行資料操作。

而hibernate可以在底層對後設資料和物件進行轉化,使得開發者只用物件導向的方式來存取資料即可。

二、移植性:hibernate使用xml或jpa的配置以及資料庫方言等等的機制,使得hibernate具有更好的移植性,對於不同的資料庫,開發者只需要使用相同的資料操作即可,無需關心資料庫之間的差異。而直接使用jdbc就不得不考慮資料庫差異的問題。

三、封裝性:hibernate提供了大量的封裝(這也是它最大的缺點),很多資料操作以及關聯關係等都被封裝的很好,開發者不需寫大量的sql語句,這就極大的提高了開發者的開發效率。

四、快取機制:hibernate提供了快取機制(session快取,二級快取,查詢快取),對於那些改動不大且經常使用的資料,可以將它們放到快取中,不必在每次使用時都去查詢資料庫,快取機制對提升效能大有裨益。

缺點:一、對hibernate而言,它對jdbc封裝過於厲害,所以就失去了對sql的控制(當然hibernate也可以使用native sql既使用createsqlquery等方法來呼叫與資料庫相關的sql,但這樣一來也就影響了hibernate的可移植性),使得hibernate的在很多地方不夠靈活,難於優化,尤其對於一些複雜的關聯查詢時,hibernate提供的功能遠不及直接使用jdbc方便效能更高。

二、hibernate沒有提供專門的批處理機制,如果要批量更新或插入資料時,還需要顯示的flush,clear之類的操作,效能不如jdbc。

三、相對於jdbc,hibernate更消耗記憶體,因為它每次的資料庫操作都要做資料和物件的轉換/封裝,查詢出一條資料就要建立一個或多個物件,這樣也太消耗記憶體了。

一般專案都會用到hibernate,不過初學者對於jdbc也要有一些瞭解這樣方便了解hibernate的機制,實際專案中hibernate用的比較多,有時也會用到jdbc看具體情況。

11樓:匿名使用者

其實他們都是基於介面來設計的,屬單例,只不過hibernate比較傾向於我們所用的物件導向程式設計的思想

簡述hibernate 和 jdbc 的區別,優缺點

請問下,jdbc和hibernate有什麼區別啊,二者都是持久層框架嗎,跟dao又有什麼區別呢,請指點 5

12樓:山高庸涵

1.首先jdbc不是永續性的,hibernate是的,hibernate實際上是對jdbc的永續性封裝,因為hibernate的底層也是有jdbc來實現的。

2.再者,hibernate的效率比jdbc的要高,因為在hibernate裡面存在一個快取(cahe)機制,一級快取和二級快取,當從資料庫中讀取資料的時候會儲存兩份,一份給使用者,一份自己留著,這樣,下次訪問的時候就不用去連線資料庫,直接從快取中讀取,效率大大提高。

3.jdbc連線資料庫是強制性的,每次都會去連線,只要輸入url之後就會連線,而hibernate是手動連線,手動提交的。

dao太簡單我就不說了,希望能幫到你。

13樓:匿名使用者

jdbc不是框架,是和db互動的方式,而hibernate是通過物件導向的方式和db進行互動,因為現在好多語言都是物件導向的,但是db卻不是,是關係型資料庫,那麼兩者怎麼結合列,這時候hibernate就出現了,jdbc可以直接寫sql語句,雖說hibernate裡面也可以但是沒jdbc好用,jdbc可以做sql批處理,hibernate就不行

14樓:天津資訊小帆船

hibernate封裝了jdbc,增刪改查拿來就能用,連線資料庫也是在配置檔案裡配置的。所有依賴關係,多對一,一對多,多對多都可以在配置檔案裡進行配置。但是說到底,它在編譯的時候還是會轉成jdbc,因為jvm就認jdbc。

框架框架,就是把比較複雜的**封裝起來,你好呼叫。

15樓:

hibernate是jdbc的輕量級封裝,用hibernate代替jdbc主要是有幾點原因:1、hibernate可以避免拼sql語句的繁瑣。2、hibernate是物件導向的,非常好的實現了orm。

3、hibernate可以跨資料庫。dao只是提供外部運算元據庫的介面。

16樓:匿名使用者

jdbc必須自己手寫**連線資料庫和對資料庫的操作

hibernate可以自動連線資料庫,並且提供了hibernatedaosupport方法,可以進行資料操作

17樓:匿名使用者

orm是一種思想,就是把object轉變成資料庫的中記錄,或者把資料庫中的記錄轉變成object,我們用jdbc來實現這種思想,其實,如果我們的專案是嚴格按照oop方式編寫的話,我們程式不管是有意還是無意,就已經實現了orm的工作了。

現在在有許多orm工具,他們的底層呼叫jdbc來實現了orm工作,我們直接使用這些工具,就省去了直接使用jdbc的繁瑣細節,提高了開發效率,現在用的較多的orm工具是hibernate,也聽說一些orm工具,如toplink,obj等

jdbc和hibernate的區別

18樓:育知同創教育

hibernate的底層還是jdbc,只不過額外封裝了很多東西而已。。例如事務,sessionfacotory等等..給你舉個例子,你需要買一瓶醬油。

你直接跑到醬油工廠裡去拿了一瓶,因為你需要醬油,所以你去拿。而hibernate的作用就是超市,你需要醬油的時候直接去超市裡買,而不是直接去工廠..超市的將有賣完了,它自己就去工廠裡進貨,至於如何進貨,你完全不用關心,只需要配置好各種配置檔案就ok。

我知道你又會有疑問了。。當超市的貨物不能滿足你的時候,就比如說你需要一架飛機,當時超市沒有賣。這個時候hibernate也提供了hql和sql,讓你直接去工廠裡提貨。。

超市裡還有包換,這個就是事務了。。你需要買一瓶醬油一瓶醋,你總不能買瓶醬油回家 然後再來超市買醋吧。。事實上你是買了醬油然後再買瓶醋然後一起回家。

;這個就類似與hibernate的transaction了。。 親,你學到了沒。。哥打了這麼久的字。。

請問下,jdbc和hibernate有什麼區別啊,二者都是持久層框架嗎,跟DAO又有什麼區別呢,請指點

1.首先jdbc不是永續性的,hibernate是的,hibernate實際上是對jdbc的永續性封裝,因為hibernate的底層也是有jdbc來實現的。2.再者,hibernate的效率比jdbc的要高,因為在hibernate裡面存在一個快取 cahe 機制,一級快取和二級快取,當從資料庫中讀...

Hibernate中,一級快取的作用有哪些

為了減少應用程式對物理資料來源訪問的次數,從而提高應用程式的執行效能 你從資料庫查個東西 一會你還查這個東西 他就不去資料庫找了 先到快取中找 節省了資源 hibernate的一級快取和二級快取分別是什麼 hibernate的快取包括session的快取和sessionfactory的快取,其中 s...

信件和信函有什麼區別和聯絡,信函和信封有什麼區別

沒有區別吧。信件和信函都是指以套封形式傳遞的緘封的資訊的載體。其他具有信件性質的物品是指以符號 圖象 音響等方式傳遞的資訊的載體。具體內容由郵電部規定。信函和信封有什麼區別 信函,是指以套封形式按照名址遞送給特定個人或單位的緘封的資訊載體。信封,一般是指 人內們用 容於郵遞信件 保守信件內容的一種交...