色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

java中Hibernate面試知識(shí)點(diǎn)整理

瀏覽:2日期:2022-08-17 16:30:11

作為常用的框架之一,Hibernate在面試的時(shí)候難免會(huì)被問到。好在涉及的都是一些理論方面的知識(shí)點(diǎn),比如概念、原理、使用之類的。我們在面試之前可以針對這方面的題目,做一個(gè)充足的準(zhǔn)備,即使有些人對hibernate框架的了解并不深入。下面我們就hibernate框架中常見的面試題帶來介紹。

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ù)器的性能。

面試題擴(kuò)展:

1.一般情況下,關(guān)系數(shù)據(jù)模型與對象模型之間有哪些匹配關(guān)系(多選)

A)表對應(yīng)類

B)記錄對應(yīng)對象

C)表的字段對應(yīng)類的屬性

D)表之間的參考關(guān)系對應(yīng)類之間的依賴關(guān)系

2.以下關(guān)于SessionFactory的說法哪些正確?(多選)

A)對于每個(gè)數(shù)據(jù)庫事務(wù),應(yīng)該創(chuàng)建一個(gè)SessionFactory對象

B)一個(gè)SessionFactory對象對應(yīng)一個(gè)數(shù)據(jù)庫存儲(chǔ)源。

C)SessionFactory是重量級的對象,不應(yīng)該隨意創(chuàng)建。如果系統(tǒng)中只有一個(gè)數(shù)據(jù)庫存儲(chǔ)源,只需要?jiǎng)?chuàng)建一個(gè)。

D)SessionFactory的load()方法用于加載持久化對象

3.元素有一個(gè)cascade屬性,如果希望Hibernate級聯(lián)保存集合中的對象,casecade屬性應(yīng)該取什么值?(單選)

A)none

B)save

C)delete

D)save-update

5.以下哪些屬于Session的方法?

A)load()

B)save()

C)delete()

D)update()

E)open()

F)close()

到此這篇關(guān)于java中Hibernate面試知識(shí)點(diǎn)整理的文章就介紹到這了,更多相關(guān)java之Hibernate面試要點(diǎn)內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 久久国内精品自在自线软件 | 亚洲欧美日本在线 | 日本免费小视频 | 国产v综合v亚洲欧美大另类 | 久久99精品久久久久久久野外 | 狼人总合狼人综合 | 欧美亚洲中日韩中文字幕在线 | 国产伦精品一区三区视频 | 国产91精品久久久久999 | 韩国欧洲一级毛片免费 | 国产欧美在线一区二区三区 | 最新黄网 | 国产毛片不卡 | 国产精品高清全国免费观看 | 日韩久久一级毛片 | 最新主播福利视频在线观看 | 鲁丝片一区二区三区免费 | 免费一级特黄a | 在线播放性xxx欧美 在线播放亚洲视频 | 97在线观看 | 欧美 日韩 国产在线 | 日本xxxxx久色视频在线观看 | 久久中文字幕久久久久 | 亚洲清纯自偷自拍另类专区 | 日韩欧美亚洲中字幕在线播放 | 一个人看的www片免费视频中文 | 国产精品欧美亚洲韩国日本不卡 | a级毛片免费完整视频 | 国产人成亚洲第一网站在线播放 | 亚洲国产一区二区三区四区 | 杨幂国产精品福利在线观看 | 国产乱淫a∨片免费视频 | 国产三级欧美 | 国产欧美日韩精品高清二区综合区 | 99精品视频一区在线视频免费观看 | 免费一区二区三区在线视频 | 久久久这里只有精品免费 | 波多野结衣aⅴ在线 | 国产视频自拍偷拍 | 成年人午夜免费视频 | 国产成人a大片大片在线播放 |