您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關java之Hibernate面試要點有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
Java中的集合主要分為四類:1、List列表:有序的,可重復的;2、Queue隊列:有序,可重復的;3、Set集合:不可重復;4、Map映射:無序,鍵唯一,值不唯一。
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面試要點有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。