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