亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java面試常見問題之Hibernate總結

2019-11-26 15:04:50
字體:
來源:轉載
供稿:網友

主要從以下十幾個方面對Hibernate做總結,包括Hibernate的檢索方式,Hibernate中對象的狀態,Hibernate的3種檢索策略是什么,分別適用于哪種場合,ORM解決的不匹配問題, Hibernate映射繼承關系的3種方式,Session的find()方法以及Query接口的區別等方面問題的總結,具體內容如下:

1  Hibernate的檢索方式

Ø  導航對象圖檢索(根據已經加載的對象,導航到其他對象。)

Ø  OID檢索(按照對象的OID來檢索對象。)

Ø  HQL檢索(使用面向對象的HQL查詢語言。)

Ø  QBC檢索(使用QBC(Qurey By Criteria)API來檢索對象。 QBC/QBE離線/在線)

Ø  本地SQL檢索(使用本地數據庫的SQL查詢語句。)

包括Hibernate的檢索方式,Hibernate中對象的狀態,Hibernate的3種檢索策略是什么,分別適用于哪種場合,ORM解決的不匹配問題, Hibernate映射繼承關系的3種方式,Session的find()方法以及Query接口的區別等方面問題的總結
Ø  臨時狀態(transient):剛剛用new語句創建,還沒有被持久化,不處于Session的緩存中。處于臨時狀態的Java對象被稱為臨時對象。

Ø  持久化狀態(persistent):已經被持久化,加入到Session的緩存中。處于持久化狀態的Java對象被稱為持久化對象。

Ø  游離狀態(detached):已經被持久化,但不再處于Session的緩存中。處于游離狀態的Java對象被稱為游離對象。
3  Hibernate的3種檢索策略是什么,分別適用于哪種場合
Ø  立即檢索

優點:對應用程序完全透明。

缺點:select語句數目多。

適用:類級別。

Ø  延遲檢索

優點:由應用程序決定加載哪些對象,可以避免執行多余的select語句以及避免加載不需要訪問的對象,節省內存空間,提高檢索效率。

缺點:應用程序如果要訪問游離態的代理類實例,必須保證它在持久化時已經被初始化。

適用:一對多或多對多關聯。應用程序不需要立即訪問或者根本不會訪問的對象。

Ø  迫切左外連接檢索

優點:對應用程序完全透明,不管對象處于持久化狀態還是游離狀態,應用程序都可以方便的從一個對象導航到另一個與它相關聯的對象。使用了外連接,select語句數目少。

缺點:可能會加載程序不許要訪問的對象。復雜的數據庫表連接形象檢索性能。

適用:一對一或多對一關聯。應用程序需要立即訪問的對象。數據庫系統具有良好的表連接性能。

4  ORM解決的不匹配問題(域模型與關系模型之間存在的不匹配)
Ø  域模型是面向對象的,關系模型是面向關系的。

Ø  域模型中有繼承關系,關系模型中不能直接表示繼承關系。

Ø  域模型中有多對多關聯關系,關系模型中通過連接表來表示多對多關聯關系。

Ø  域模型中有雙向關聯關系,關系模型中只有單向參照關系,而且總是many參照one方。

Ø  域模型提倡精粒度模型,關系模型提倡粗粒度模型。

5  Hibernate映射繼承關系的3種方式
Ø  整個的繼承體系就用一張表(tableper hierarchy)

Ø  每個子類一張表,存放子類所特有的屬性(tableper subclass)

Ø  每個具體類一張表(union-subclass),保存是子類完整信息(table per concrete )

6  Session的find()方法以及Query接口的區別
Session類的find()方法以及Query接口都支持HQL檢索方式。這兩者的區別在于,前者只是執行一些簡單HQL查詢語句的便捷方法,它不具有動態綁定參數的功能,而且在Hibernate3.x版本中,已經淘汰了find()方法;而Query接口才是真正的HQL查詢接口,它提供了以上列出的各種查詢功能。

7  Hibernate關聯關系配置
Ø  一對一

Ø  一對多

Ø  多對多

8  簡述Session的特點
Ø  不是線程安全的,因此在設計軟件架構時,應該避免多個線程共享同一個Session實例。

Ø  Session實例是輕量級的,所謂輕量級是指它的創建和銷毀不需要消耗太多的資源。這意味著在程序中可以經常創建或銷毀Session對象,例如為每個客戶請求分配單獨的Session實例,或者為每個工作單元分配單獨的Session實例。

Ø  在Session中,每個數據庫操作都是在一個事務(transaction)中進行的,這樣就可以隔離開不同的操作(甚至包括只讀操作)。

9  Hibernate中采用XML文件來配置對象-關系映射的優點
Hibernate既不會滲透到上層域模型中,也不會滲透到下層數據模型中。軟件開發人員可以獨立設計域模型,不必強迫遵守任何規范。數據庫設計人員可以獨立設計數據模型,不必強迫遵守任何規范。對象-關系映射不依賴于任何程序代碼,如果需要修改對象-關系映射,只需修改XML文件,不需要修改任何程序,提高了軟件的靈活性,并且使維護更加方便。

10  Session的緩存的作用
Ø  減少訪問數據庫的頻率。應用程序從內存中讀取持久化對象的速度顯然比到數據庫中查詢數據的速度快多了,因此Session的緩存可以提高數據訪問的性能。

Ø  保證緩存中的對象與數據庫中的相關記錄保持同步。當緩存中持久化對象的狀態發生了變換,Session并不會立即執行相關的SQL語句,這使得Session能夠把幾條相關的SQL語句合并為一條SQL語句,以便減少訪問數據庫的次數,從而提高應用程序的性能。

11  多事務并發運行時的問題
Ø  第一類丟失更新

Ø  臟讀

Ø  虛讀/幻讀

Ø  不可重復讀

Ø  第二類丟失更新

12  session的清理和清空的區別
Ø  session清理緩存是指按照緩存中對象的狀態的變化來同步更新數據庫;(Hibernate包含了三類session的Flush模式)

Ø  清空是session清除部分或全部對象或者session關閉;

13  Hibernate工作原理及為什么要用
Ø  原理

1.讀取并解析配置文件

2.讀取并解析映射信息,創建SessionFactory

3.打開Sesssion

4.創建事務Transation

5.持久化操作

6.提交事務

7.關閉Session

8.關閉SesstionFactory

Ø  為什么要用

1.對JDBC訪問數據庫的代碼做了封裝,大大簡化了數據訪問層繁瑣的重復性代碼。

2.Hibernate是一個基于JDBC的主流持久化框架,是一個優秀的ORM實現。他很大程度的簡化DAO層的編碼工作

3.hibernate使用Java反射機制,而不是字節碼增強程序來實現透明性。

4.hibernate的性能非常好,因為它是個輕量級框架。映射的靈活性很出色。它支持各種關系數據庫,從一對一到多對多的各種復雜關系。

14  Hibernate延遲加載
1.Hibernate2延遲加載實現:a)實體對象 b) 集合類型(Collection)

2.Hibernate3 提供了屬性的延遲加載功能

當Hibernate在查詢數據的時候,數據并沒有存在與內存中,當程序真正對數據的操作時,對象才存在與內存中,就實現了延遲加載,他節省了服務器的內存開銷,從而提高了服務器的性能。

15  Hibernate的緩存機制
1.一級緩存又叫內部緩存存在Hibernate,屬于應用事務級緩存

2.二級緩存

a) 應用及緩存

b) 分布式緩存

條件:數據不會被第三方修改、數據大小在可接受范圍、數據更新頻率低、同一數據被系統頻繁使用、非關鍵數據。

c) 第三方緩存的實現

16  優化Hibernate
1.使用雙向一對多關聯,不使用單向一對多

2.靈活使用單向一對多關聯

3.不用一對一,用多對一取代

4.配置對象緩存,不使用集合緩存

5.一對多集合使用Bag,多對多集合使用Set

6.繼承類使用顯式多態

7.表字段要少,表關聯不要怕多,有二級緩存撐腰

以上內容是針對java面試比較常見的Hibernate總結,希望能夠幫助到大家。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美国产日韩一区二区| 欧美激情手机在线视频| 欧美午夜精品久久久久久人妖| 中文字幕亚洲欧美日韩在线不卡| 亚洲精品狠狠操| 成人深夜直播免费观看| 欧美大人香蕉在线| 中文字幕少妇一区二区三区| 中文字幕亚洲无线码a| 国产精品久久综合av爱欲tv| 亚洲人成在线免费观看| 日韩欧美第一页| 欧美日韩成人免费| 国产香蕉97碰碰久久人人| 亚洲国产精品字幕| 亚洲欧美激情精品一区二区| 97久久精品视频| 91网站免费观看| 久久综合色影院| 国产精品视频网址| 亚洲综合中文字幕68页| 亚洲综合日韩在线| 国产aⅴ夜夜欢一区二区三区| 成人黄色生活片| 欧美性xxxxhd| 亚洲精品久久久久久久久久久| 国产精品jizz在线观看麻豆| 91亚洲精品在线| 欧美日韩亚洲系列| 色综合色综合久久综合频道88| 精品国产美女在线| 欧美中文字幕在线视频| 国产日韩精品在线观看| 91网站免费看| 国产精品久久电影观看| 亚洲国产欧美一区| 日韩精品在线观看视频| 91在线观看免费高清完整版在线观看| 亚洲成人aaa| 最近2019年中文视频免费在线观看| 亚洲图中文字幕| 国产精品一区二区久久久久| 97精品国产97久久久久久免费| 一区二区三区视频观看| 国产97在线播放| 欧美日韩亚洲系列| 国产精品jizz在线观看麻豆| 中文字幕精品www乱入免费视频| 精品香蕉在线观看视频一| 国产精品视频内| 欧美xxxx综合视频| 亚洲欧洲日产国码av系列天堂| 亚洲人成伊人成综合网久久久| 亚洲精品综合精品自拍| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲美女久久久| 欧美性色19p| 久热精品在线视频| 亚洲欧美一区二区精品久久久| 成人a视频在线观看| 久久久久久久久爱| 中文字幕少妇一区二区三区| 欧美日韩国产综合新一区| 久久露脸国产精品| 69av在线播放| 日韩高清欧美高清| 亚洲自拍偷拍色图| 亚洲一级片在线看| 欧美激情视频一区二区| 日韩美女免费视频| 日韩精品中文在线观看| 97久久超碰福利国产精品…| 91高清免费视频| 亚洲sss综合天堂久久| 91视频国产一区| 国产精品电影网站| 国产精品亚洲片夜色在线| 欧美久久精品一级黑人c片| 国模私拍视频一区| 国产自产女人91一区在线观看| 日本高清视频一区| 久久久国产精品免费| 亚洲欧美在线播放| 亚洲一区二区中文| 久久久久久综合网天天| 色噜噜狠狠狠综合曰曰曰88av| 亚洲欧美资源在线| 久久精品美女视频网站| 日韩的一区二区| 日韩精品在线免费观看| 日韩国产欧美精品一区二区三区| 69久久夜色精品国产69乱青草| 国产一区二区三区高清在线观看| 日韩在线观看免费高清完整版| 久久久久久久一区二区三区| 激情成人在线视频| 久国内精品在线| 亚洲变态欧美另类捆绑| 国产精品吴梦梦| 97在线视频免费| 激情久久av一区av二区av三区| 亚洲片在线观看| 亚洲综合大片69999| 中文字幕av一区二区三区谷原希美| 日韩一二三在线视频播| 欧美丝袜美女中出在线| 欧美日韩国产一区在线| 久久五月天综合| 久久久精品久久久| 欧美日韩一区免费| 丝袜亚洲欧美日韩综合| www.美女亚洲精品| 欧美日韩免费一区| 在线观看国产精品日韩av| 亚洲韩国欧洲国产日产av| 色多多国产成人永久免费网站| 国产日韩欧美在线观看| 高清欧美性猛交xxxx黑人猛交| 亚洲无限乱码一二三四麻| 久久国产精品久久久久久久久久| 国产精品久久久久av| 亚洲综合色av| 欧日韩不卡在线视频| 538国产精品视频一区二区| 国产精品免费一区豆花| www国产亚洲精品久久网站| 裸体女人亚洲精品一区| 久久久久久久久久婷婷| 高清在线视频日韩欧美| 亚洲网站视频福利| 91久久嫩草影院一区二区| 亚洲无av在线中文字幕| 日韩中文字幕在线精品| 国外成人在线视频| 亚洲国产成人爱av在线播放| 国产在线观看不卡| xxav国产精品美女主播| 日韩中文字幕在线免费观看| 亚洲激情在线观看视频免费| 国产精品高清网站| 91精品在线观看视频| 91成人天堂久久成人| 国产一区私人高清影院| 久久青草福利网站| 992tv成人免费影院| 国产日韩在线看片| 欧美日韩aaaa| 国产精品一区二区三区毛片淫片| 亚洲欧美在线第一页| 奇米影视亚洲狠狠色| 黄网动漫久久久| 国产欧美中文字幕| 久久免费在线观看| 欧美大胆a视频| 91精品国产免费久久久久久| 韩国美女主播一区| 高清欧美性猛交xxxx黑人猛交| 国产精品xxxxx| 国产69精品久久久久久| 亚洲欧美综合区自拍另类| 精品久久久久久久久久久久久| 国产欧美中文字幕| 美女少妇精品视频| 日本精品中文字幕|