欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年01月25日 14:28:43   作者:小妮淺淺  
在本篇文章里小編給大家整理的是一篇關(guān)于java中Hibernate面試知識(shí)點(diǎn)整理內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。

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

1. 為什么要使用 hibernate?

(1).對(duì)JDBC做了輕量級(jí)的封裝,簡(jiǎn)化了數(shù)據(jù)訪(fǎng)問(wèn)層編碼。

(2).Hibernate是一個(gè)ORM框架,開(kāi)發(fā)者可以使用面向?qū)ο蟮乃枷氩僮鲾?shù)據(jù)庫(kù),使用更加方便。

(3) hibernate映射很靈活,支持各種關(guān)系數(shù)據(jù)庫(kù),從一對(duì)一到多對(duì)多的各種復(fù)雜關(guān)系。

2.比較hibernate的三種檢索策略?xún)?yōu)缺點(diǎn)

(1)立即檢索;

優(yōu)點(diǎn): 對(duì)應(yīng)用程序完全透明,不管對(duì)象處于持久化狀態(tài),還是游離狀態(tài),應(yīng)用程序都可以方便的從一個(gè)對(duì)象導(dǎo)航到與它關(guān)聯(lián)的對(duì)象;

缺點(diǎn):1.select語(yǔ)句太多;2.可能會(huì)加載應(yīng)用程序不需要訪(fǎng)問(wèn)的對(duì)象白白浪費(fèi)許多內(nèi)存空間;

(2)延遲檢索:

優(yōu)點(diǎn): 由應(yīng)用程序決定需要加載哪些對(duì)象,可以避免可執(zhí)行多余的select語(yǔ)句,以及避免加載應(yīng)用程序不需要訪(fǎng)問(wèn)的對(duì)象。因此能提高檢索性能,并且能節(jié)省內(nèi)存空間;

缺點(diǎn): 應(yīng)用程序如果希望訪(fǎng)問(wèn)游離狀態(tài)代理類(lèi)實(shí)例,必須保證他在持久化狀態(tài)時(shí)已經(jīng)被初始化;

(3)迫切左外連接檢索

優(yōu)點(diǎn):對(duì)應(yīng)用程序完全透明,不管對(duì)象處于持久化狀態(tài),還是游離狀態(tài),應(yīng)用程序都可以方便地沖一個(gè)對(duì)象導(dǎo)航到與它關(guān)聯(lián)的對(duì)象。使用了外連接,select語(yǔ)句數(shù)目少;

缺點(diǎn):可能會(huì)加載應(yīng)用程序不需要訪(fǎng)問(wèn)的對(duì)象,白白浪費(fèi)許多內(nèi)存空間;復(fù)雜的數(shù)據(jù)庫(kù)表連接也會(huì)影響檢索性能;

3.什么是 ORM 框架?

(Object Relation Mapping)對(duì)象關(guān)系映射,即通過(guò)類(lèi)與數(shù)據(jù)庫(kù)表的映射關(guān)系,將對(duì)象持久化到數(shù)據(jù)庫(kù)中。

4.hibernate對(duì)象的三種狀態(tài)

Hibernate中對(duì)象有三種狀態(tài): 臨時(shí)狀態(tài)(Transient)、持久狀態(tài)(Persistent)、游離狀態(tài)(Detached)

臨時(shí)狀態(tài):剛剛使用new語(yǔ)句創(chuàng)建,還沒(méi)有被持久化,不處于Session的緩存中。處于臨時(shí)狀態(tài)的狀態(tài)的Java對(duì)象被稱(chēng)為臨時(shí)對(duì)象。

持久化狀態(tài):已經(jīng)被持久化,加入到Session的緩存中。處于持久化狀態(tài)的Java對(duì)象被稱(chēng)為持久化對(duì)象。

游離狀態(tài):已經(jīng)被持久化,但不處于session的緩存中。處于游離狀態(tài)的Java對(duì)象被稱(chēng)為游離對(duì)象。

5.Hibernate是如何延遲加載?

當(dāng)Hibernate在查詢(xún)數(shù)據(jù)的時(shí)候,數(shù)據(jù)并沒(méi)有存在與內(nèi)存中,當(dāng)程序真正對(duì)數(shù)據(jù)的操作時(shí),對(duì)象才存在與內(nèi)存中,就實(shí)現(xiàn)了延遲加載,他節(jié)省了服務(wù)器的內(nèi)存開(kāi)銷(xiāo),從而提高了服務(wù)器的性能。

面試題擴(kuò)展:

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

A)表對(duì)應(yīng)類(lèi)

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

C)表的字段對(duì)應(yīng)類(lèi)的屬性

D)表之間的參考關(guān)系對(duì)應(yīng)類(lèi)之間的依賴(lài)關(guān)系

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

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

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

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

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

3.元素有一個(gè)cascade屬性,如果希望Hibernate級(jí)聯(lián)保存集合中的對(duì)象,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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JAVA實(shí)現(xiàn)的簡(jiǎn)單萬(wàn)年歷代碼

    JAVA實(shí)現(xiàn)的簡(jiǎn)單萬(wàn)年歷代碼

    這篇文章主要介紹了JAVA實(shí)現(xiàn)的簡(jiǎn)單萬(wàn)年歷代碼,涉及Java日期操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • Spring+SpringMVC+Hibernate整合實(shí)例講解

    Spring+SpringMVC+Hibernate整合實(shí)例講解

    在本篇文章里小編給大家整理的是關(guān)于Spring+SpringMVC+Hibernate整合實(shí)例講解,需要的朋友們可以學(xué)習(xí)下。
    2020-03-03
  • 將Java程序與數(shù)據(jù)庫(kù)進(jìn)行連接的操作方法

    將Java程序與數(shù)據(jù)庫(kù)進(jìn)行連接的操作方法

    這篇文章主要介紹了將Java程序與數(shù)據(jù)庫(kù)進(jìn)行連接的操作方法,是Java入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-10-10
  • java 中JDBC連接數(shù)據(jù)庫(kù)代碼和步驟詳解及實(shí)例代碼

    java 中JDBC連接數(shù)據(jù)庫(kù)代碼和步驟詳解及實(shí)例代碼

    這篇文章主要介紹了java 中JDBC連接數(shù)據(jù)庫(kù)代碼和步驟詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 詳解CopyOnWriteArrayList是如何保證線(xiàn)程安全

    詳解CopyOnWriteArrayList是如何保證線(xiàn)程安全

    這篇文章主要為大家介紹了CopyOnWriteArrayList是如何保證線(xiàn)程安全講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • MyBatis復(fù)雜Sql查詢(xún)實(shí)現(xiàn)示例介紹

    MyBatis復(fù)雜Sql查詢(xún)實(shí)現(xiàn)示例介紹

    在利用mybatis做查詢(xún)的時(shí)候,一般返回結(jié)果用resulttype,這種情況必須是查詢(xún)的結(jié)果在對(duì)應(yīng) 的pojo類(lèi)中有對(duì)應(yīng)的,一般都是單表查詢(xún),但是對(duì)于一些復(fù)雜的情況,比如需要用到多表查詢(xún)的時(shí)候,resultType不再適用,此時(shí)一般用resultMap來(lái)表示返回的結(jié)果
    2022-12-12
  • Spring源碼分析容器啟動(dòng)流程

    Spring源碼分析容器啟動(dòng)流程

    Spring的啟動(dòng)流程可以歸納為三個(gè)步驟:初始化Spring容器,注冊(cè)內(nèi)置的BeanPostProcessor的BeanDefinition到容器中、將配置類(lèi)的BeanDefinition注冊(cè)到容器中、調(diào)用refresh()方法刷新容器
    2022-09-09
  • SpringBoot中自定義參數(shù)綁定步驟詳解

    SpringBoot中自定義參數(shù)綁定步驟詳解

    這篇文章主要介紹了SpringBoot中自定義參數(shù)綁定步驟詳解,非常不錯(cuò),具有參考借鑒價(jià)值 ,需要的朋友可以參考下
    2018-02-02
  • Java?SpringBoot?獲取接口實(shí)現(xiàn)類(lèi)匯總

    Java?SpringBoot?獲取接口實(shí)現(xiàn)類(lèi)匯總

    這篇文章主要介紹了Java?SpringBoot?獲取接口實(shí)現(xiàn)類(lèi)匯總,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • JavaMe開(kāi)發(fā)自適應(yīng)滾動(dòng)顯示

    JavaMe開(kāi)發(fā)自適應(yīng)滾動(dòng)顯示

    我們??吹揭恍L動(dòng)顯示的實(shí)例,比如UC瀏覽器中,顯示網(wǎng)頁(yè)的內(nèi)容。當(dāng)內(nèi)容比較多時(shí),采用滾動(dòng)分頁(yè)顯示是合理的。在Canvas中繪圖中,多余的內(nèi)容被截?cái)嗔?。如何?shí)現(xiàn)滾動(dòng)分頁(yè)顯示呢?
    2015-09-09

最新評(píng)論