最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

作為常用的框架之一,Hibernate在面試的時(shí)候難免會(huì)被問到。好在涉及的都是一些理論方面的知識點(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面試知識點(diǎn)整理的文章就介紹到這了,更多相關(guān)java之Hibernate面試要點(diǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Java的MyBatis框架中動(dòng)態(tài)SQL的基本用法

    詳解Java的MyBatis框架中動(dòng)態(tài)SQL的基本用法

    這篇文章主要介紹了詳解Java的MyBatis框架中動(dòng)態(tài)SQL的基本用法,文中列出了一些常用SQL動(dòng)態(tài)語句進(jìn)行講解,需要的朋友可以參考下
    2016-04-04
  • Spring中bean的生命周期之getSingleton方法

    Spring中bean的生命周期之getSingleton方法

    今天給大家?guī)淼氖顷P(guān)于Spring的相關(guān)知識,文章圍繞著Spring中bean的生命周期之getSingleton方法展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Spring設(shè)計(jì)模式中代理模式詳細(xì)講解

    Spring設(shè)計(jì)模式中代理模式詳細(xì)講解

    如何實(shí)現(xiàn)在不修改源碼的基礎(chǔ)上實(shí)現(xiàn)代碼功能的增強(qiáng)呢?spring為我們提供了代理模式。所謂的代理模式通俗來說就是一個(gè)中介,它給某一個(gè)對象提供一個(gè)代理對象,并由代理對象控制原對象的引用,從而實(shí)現(xiàn)在不修改源碼的基礎(chǔ)上實(shí)現(xiàn)代碼功能的增強(qiáng)
    2023-01-01
  • Java實(shí)現(xiàn)數(shù)據(jù)脫敏的方法詳細(xì)講解

    Java實(shí)現(xiàn)數(shù)據(jù)脫敏的方法詳細(xì)講解

    這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)數(shù)據(jù)脫敏的相關(guān)資料,數(shù)據(jù)脫敏是指對某些敏感信息通過脫敏規(guī)則進(jìn)行數(shù)據(jù)的變形,實(shí)現(xiàn)敏感隱私數(shù)據(jù)的可靠保護(hù),需要的朋友可以參考下
    2023-06-06
  • maven解決包沖突方法詳解

    maven解決包沖突方法詳解

    這篇文章主要介紹了maven解決包沖突方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • selenium-java實(shí)現(xiàn)自動(dòng)登錄跳轉(zhuǎn)頁面方式

    selenium-java實(shí)現(xiàn)自動(dòng)登錄跳轉(zhuǎn)頁面方式

    利用Selenium和Java語言可以編寫一個(gè)腳本自動(dòng)刷新網(wǎng)頁,首先,需要確保Google瀏覽器和Chrome-Driver驅(qū)動(dòng)的版本一致,通過指定網(wǎng)站下載對應(yīng)版本的瀏覽器和驅(qū)動(dòng),在Maven項(xiàng)目中添加依賴,編寫腳本實(shí)現(xiàn)網(wǎng)頁的自動(dòng)刷新,此方法適用于需要頻繁刷新網(wǎng)頁的場景,簡化了操作,提高了效率
    2024-11-11
  • iReport簡單使用方法圖文教程

    iReport簡單使用方法圖文教程

    iReport是一個(gè)能夠創(chuàng)建復(fù)雜報(bào)表的開源項(xiàng)目,它100%使用Java語言編寫,是目前全球最為流行的開源報(bào)表設(shè)計(jì)器,由于它豐富的圖形界面,你能夠很快的創(chuàng)建出任何一種你想要的報(bào)表
    2021-10-10
  • 詳解SpringBoot定時(shí)任務(wù)功能

    詳解SpringBoot定時(shí)任務(wù)功能

    這篇文章主要介紹了SpringBoot定時(shí)任務(wù)功能詳細(xì)解析,這次的功能開發(fā)過程中也算是對其內(nèi)涵的進(jìn)一步了解,以后遇到定時(shí)任務(wù)的處理也更清晰,更有效率了,對SpringBoot定時(shí)任務(wù)相關(guān)知識感興趣的朋友一起看看吧
    2022-05-05
  • Java雜談之代碼重構(gòu)的方法多長才算長

    Java雜談之代碼重構(gòu)的方法多長才算長

    關(guān)于代碼重構(gòu)的理解:在不改變軟件系統(tǒng)/模塊所具備的功能特性的前提下,遵循/利用某種規(guī)則,使其內(nèi)部結(jié)構(gòu)趨于完善。其在軟件生命周期中的價(jià)值體現(xiàn)主要在于可維護(hù)性和可擴(kuò)展性
    2021-10-10
  • java調(diào)用ffmpeg實(shí)現(xiàn)視頻轉(zhuǎn)換的方法

    java調(diào)用ffmpeg實(shí)現(xiàn)視頻轉(zhuǎn)換的方法

    這篇文章主要介紹了java調(diào)用ffmpeg實(shí)現(xiàn)視頻轉(zhuǎn)換的方法,較為詳細(xì)分析了java視頻格式轉(zhuǎn)換所需要的步驟及具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-06-06

最新評論

肃北| 松江区| 乌拉特中旗| 兴海县| 米林县| 无棣县| 古丈县| 柘城县| 建瓯市| 花莲县| 维西| 大足县| 临朐县| 龙胜| 渑池县| 华亭县| 武川县| 通渭县| 游戏| 名山县| 和顺县| 霍山县| 治多县| 浮山县| 襄樊市| 阳高县| 寻乌县| 江安县| 夏河县| 泸西县| 大理市| 乌海市| 祁门县| 南昌市| 曲麻莱县| 新乐市| 汾阳市| 北川| 永和县| 永靖县| 六盘水市|