您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)java之Hibernate面試要點(diǎn)有哪些的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
Java中的集合主要分為四類:1、List列表:有序的,可重復(fù)的;2、Queue隊(duì)列:有序,可重復(fù)的;3、Set集合:不可重復(fù);4、Map映射:無序,鍵唯一,值不唯一。
1. 為什么要使用 hibernate?
(1).對JDBC做了輕量級的封裝,簡化了數(shù)據(jù)訪問層編碼。
(2).Hibernate是一個(gè)ORM框架,開發(fā)者可以使用面向?qū)ο蟮乃枷氩僮鲾?shù)據(jù)庫,使用更加方便。
(3) hibernate映射很靈活,支持各種關(guān)系數(shù)據(jù)庫,從一對一到多對多的各種復(fù)雜關(guān)系。
2.比較hibernate的三種檢索策略優(yōu)缺點(diǎn)
(1)立即檢索;
優(yōu)點(diǎn): 對應(yīng)用程序完全透明,不管對象處于持久化狀態(tài),還是游離狀態(tài),應(yīng)用程序都可以方便的從一個(gè)對象導(dǎo)航到與它關(guān)聯(lián)的對象;
缺點(diǎn):1.select語句太多;2.可能會(huì)加載應(yīng)用程序不需要訪問的對象白白浪費(fèi)許多內(nèi)存空間;
(2)延遲檢索:
優(yōu)點(diǎn): 由應(yīng)用程序決定需要加載哪些對象,可以避免可執(zhí)行多余的select語句,以及避免加載應(yīng)用程序不需要訪問的對象。因此能提高檢索性能,并且能節(jié)省內(nèi)存空間;
缺點(diǎn): 應(yīng)用程序如果希望訪問游離狀態(tài)代理類實(shí)例,必須保證他在持久化狀態(tài)時(shí)已經(jīng)被初始化;
(3)迫切左外連接檢索
優(yōu)點(diǎn):對應(yīng)用程序完全透明,不管對象處于持久化狀態(tài),還是游離狀態(tài),應(yīng)用程序都可以方便地沖一個(gè)對象導(dǎo)航到與它關(guān)聯(lián)的對象。使用了外連接,select語句數(shù)目少;
缺點(diǎn):可能會(huì)加載應(yīng)用程序不需要訪問的對象,白白浪費(fèi)許多內(nèi)存空間;復(fù)雜的數(shù)據(jù)庫表連接也會(huì)影響檢索性能;
3.什么是 ORM 框架?
(Object Relation Mapping)對象關(guān)系映射,即通過類與數(shù)據(jù)庫表的映射關(guān)系,將對象持久化到數(shù)據(jù)庫中。
4.hibernate對象的三種狀態(tài)
Hibernate中對象有三種狀態(tài): 臨時(shí)狀態(tài)(Transient)、持久狀態(tài)(Persistent)、游離狀態(tài)(Detached)
臨時(shí)狀態(tài):剛剛使用new語句創(chuàng)建,還沒有被持久化,不處于Session的緩存中。處于臨時(shí)狀態(tài)的狀態(tài)的Java對象被稱為臨時(shí)對象。
持久化狀態(tài):已經(jīng)被持久化,加入到Session的緩存中。處于持久化狀態(tài)的Java對象被稱為持久化對象。
游離狀態(tài):已經(jīng)被持久化,但不處于session的緩存中。處于游離狀態(tài)的Java對象被稱為游離對象。
5.Hibernate是如何延遲加載?
當(dāng)Hibernate在查詢數(shù)據(jù)的時(shí)候,數(shù)據(jù)并沒有存在與內(nèi)存中,當(dāng)程序真正對數(shù)據(jù)的操作時(shí),對象才存在與內(nèi)存中,就實(shí)現(xiàn)了延遲加載,他節(jié)省了服務(wù)器的內(nèi)存開銷,從而提高了服務(wù)器的性能。
感謝各位的閱讀!關(guān)于“java之Hibernate面試要點(diǎn)有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。