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

java中Hibernate面試知識點整理

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

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

1. 為什么要使用 hibernate?

(1).對JDBC做了輕量級的封裝,簡化了數(shù)據(jù)訪問層編碼。

(2).Hibernate是一個ORM框架,開發(fā)者可以使用面向對象的思想操作數(shù)據(jù)庫,使用更加方便。

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

2.比較hibernate的三種檢索策略優(yōu)缺點

(1)立即檢索;

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

缺點:1.select語句太多;2.可能會加載應用程序不需要訪問的對象白白浪費許多內存空間;

(2)延遲檢索:

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

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

(3)迫切左外連接檢索

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

缺點:可能會加載應用程序不需要訪問的對象,白白浪費許多內存空間;復雜的數(shù)據(jù)庫表連接也會影響檢索性能;

3.什么是 ORM 框架?

(Object Relation Mapping)對象關系映射,即通過類與數(shù)據(jù)庫表的映射關系,將對象持久化到數(shù)據(jù)庫中。

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

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

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

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

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

5.Hibernate是如何延遲加載?

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

面試題擴展:

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

A)表對應類

B)記錄對應對象

C)表的字段對應類的屬性

D)表之間的參考關系對應類之間的依賴關系

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

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

B)一個SessionFactory對象對應一個數(shù)據(jù)庫存儲源。

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

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

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

A)none

B)save

C)delete

D)save-update

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

A)load()

B)save()

C)delete()

D)update()

E)open()

F)close()

到此這篇關于java中Hibernate面試知識點整理的文章就介紹到這了,更多相關java之Hibernate面試要點內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • JAVA實現(xiàn)的簡單萬年歷代碼

    JAVA實現(xiàn)的簡單萬年歷代碼

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

    Spring+SpringMVC+Hibernate整合實例講解

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

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

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

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

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

    詳解CopyOnWriteArrayList是如何保證線程安全

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

    MyBatis復雜Sql查詢實現(xiàn)示例介紹

    在利用mybatis做查詢的時候,一般返回結果用resulttype,這種情況必須是查詢的結果在對應 的pojo類中有對應的,一般都是單表查詢,但是對于一些復雜的情況,比如需要用到多表查詢的時候,resultType不再適用,此時一般用resultMap來表示返回的結果
    2022-12-12
  • Spring源碼分析容器啟動流程

    Spring源碼分析容器啟動流程

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

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

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

    Java?SpringBoot?獲取接口實現(xiàn)類匯總

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

    JavaMe開發(fā)自適應滾動顯示

    我們常看到一些滾動顯示的實例,比如UC瀏覽器中,顯示網(wǎng)頁的內容。當內容比較多時,采用滾動分頁顯示是合理的。在Canvas中繪圖中,多余的內容被截斷了。如何實現(xiàn)滾動分頁顯示呢?
    2015-09-09

最新評論