java之Hibernate面試要點總結
作為常用的框架之一,Hibernate在面試的時候難免會被問到。好在涉及的都是一些理論方面的知識點,比如概念、原理、使用之類的。我們在面試之前可以針對這方面的題目,做一個充足的準備,即使有些人對hibernate框架的瞭解並不深入。下面我們就hibernate框架中常見的面試題帶來介紹。
1. 為什麼要使用 hibernate?
(1).對JDBC做了輕量級的封裝,簡化了資料訪問層編碼。
(2).Hibernate是一個ORM框架,開發者可以使用物件導向的思想運算元據庫,使用更加方便。
(3) hibernate對映很靈活,支援各種關聯式資料庫,從一對一到多對多的各種複雜關係。
2.比較hibernate的三種檢索策略優缺點
(1)立即檢索;
優點: 對應用程式完全透明,不管物件處於持久化狀態,還是遊離狀態,應用程式都可以方便的從一個物件導航到與它關聯的物件;
缺點:1.select語句太多;2.可能會載入應用程式不需要訪問的物件白白浪費許多記憶體空間;
(2)延遲檢索:
優點: 由應用程式決定需要載入哪些物件,可以避免可執行多餘的select語句,以及避免載入應用程式不需要訪問的物件。因此能提高檢索效能,並且能節省記憶體空間;
缺點: 應用程式如果希望訪問遊離狀態代理類例項,必須保證他在持久化狀態時已經被初始化;
(3)迫切左外連線檢索
優點:對應用程式完全透明,不管物件處於持久化狀態,還是遊離狀態,應用程式都可以方便地衝一個物件導航到與它關聯的物件。使用了外連線,select語句數目少;
缺點:可能會載入應用程式不需要訪問的物件,白白浪費許多記憶體空間;複雜的資料庫表連線也會影響檢索效能;
3.什麼是 ORM 框架?
(Object Relation Mapping)物件關係對映,即透過類與資料庫表的對映關係,將物件持久化到資料庫中。
4.hibernate物件的三種狀態
Hibernate中物件有三種狀態: 臨時狀態(Transient)、持久狀態(Persistent)、遊離狀態(Detached)
臨時狀態:剛剛使用new語句建立,還沒有被持久化,不處於Session的快取中。處於臨時狀態的狀態的Java物件被稱為臨時物件。
持久化狀態:已經被持久化,加入到Session的快取中。處於持久化狀態的Java物件被稱為持久化物件。
遊離狀態:已經被持久化,但不處於session的快取中。處於遊離狀態的Java物件被稱為遊離物件。
5.Hibernate是如何延遲載入?
當Hibernate在查詢資料的時候,資料並沒有存在與記憶體中,當程式真正對資料的操作時,物件才存在與記憶體中,就實現了延遲載入,他節省了伺服器的記憶體開銷,從而提高了伺服器的效能。
以上就是java之Hibernate面試要點總結,相信學過Hibernate的人,本篇大部分的題目都可以答出來。對於一些自己不懂的地方,還需要在課後進行彌補。更多Java學習指路:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/36/viewspace-2831043/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java面試通關要點彙總集Java面試
- java面試知識點總結Java面試
- Java 面試知識點總結Java面試
- java集合面試重點總結Java面試
- 我要做Android之要點總結Android
- Hibernate知識點總結
- Mustache要點總結
- Java基礎面試知識點總結Java面試
- 常見Java面試知識點總結Java面試
- Java面試題總結之Java基礎(三)Java面試題
- Java面試通關要點彙總集【終極版】Java面試
- java面試總結Java面試
- 萬變不離其宗之UART要點總結
- Java集合類常見面試知識點總結Java面試
- hibernate 之 HQL語句總結【轉】
- Java面試題總結之OOA/D,UML,和XMLJava面試題XML
- 深入Java虛擬機器之 -- 總結面試篇Java虛擬機面試
- Java IO簡要方法總結Java
- 面試題總結-Java部分面試題Java
- 【Java問題面試總結】Java面試
- Java面試題總結2Java面試題
- 測試要點總結(轉帖)
- 正規表示式要點總結
- 資料結構簡單要點總結資料結構
- CSS知識點面試總結CSS面試
- java框架之Hibernate框架知識點整理。Java框架
- 設計模式常見面試知識點總結(Java版)設計模式面試Java
- Hibernate【快取】知識要點快取
- Hibernate【對映】知識要點
- 好程式設計師Java教程分享Java面試題之Hibernate程式設計師Java面試題
- Android Build系統要點總結AndroidUI
- Redis優化要點--讀後總結Redis優化
- 超詳細的Java面試題總結(四 )之JavaWeb基礎知識總結Java面試題Web
- 【最全】Java 進階面試總結Java面試
- C/C++知識要點總結之C++物件導向C++物件
- 前端大廠面試一點總結前端面試
- Redis知識點&面試題總結Redis面試題
- Java 知識點總結Java