hibernate面試題及答案_第1頁(yè)
hibernate面試題及答案_第2頁(yè)
hibernate面試題及答案_第3頁(yè)
hibernate面試題及答案_第4頁(yè)
hibernate面試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

hibernate面試題及答案

一、單項(xiàng)選擇題(每題2分,共10題)

1.Hibernate中的SessionFactory相當(dāng)于JDBC中的什么?

A.Connection

B.Statement

C.ResultSet

D.DriverManager

答案:A

2.Hibernate中的事務(wù)管理器是什么?

A.Transaction

B.Session

C.SessionFactory

D.Connection

答案:A

3.在Hibernate中,哪個(gè)接口負(fù)責(zé)執(zhí)行HQL查詢(xún)?

A.Session

B.Query

C.Criteria

D.Transaction

答案:A

4.Hibernate中的延遲加載(LazyLoading)是指什么?

A.一次性加載所有數(shù)據(jù)

B.僅加載需要的數(shù)據(jù)

C.加載數(shù)據(jù)時(shí)不執(zhí)行任何操作

D.僅加載主鍵數(shù)據(jù)

答案:B

5.Hibernate中的級(jí)聯(lián)操作是什么?

A.Cascade

B.FetchType

C.CascadeType

D.Session

答案:C

6.在Hibernate中,哪個(gè)注解用于指定實(shí)體類(lèi)?

A.@Entity

B.@Table

C.@Column

D.@Id

答案:A

7.Hibernate中的FetchType.LAZY表示什么?

A.延遲加載

B.立即加載

C.從不加載

D.總是加載

答案:A

8.Hibernate中的Session.save()方法執(zhí)行的是哪種操作?

A.更新

B.刪除

C.保存

D.查詢(xún)

答案:C

9.Hibernate中的Session.get()方法與Session.load()方法有什么區(qū)別?

A.沒(méi)有區(qū)別

B.Session.get()會(huì)拋出異常,而Session.load()不會(huì)

C.Session.get()會(huì)返回代理對(duì)象,而Session.load()不會(huì)

D.Session.get()總是返回新對(duì)象,而Session.load()總是返回緩存對(duì)象

答案:B

10.Hibernate中的樂(lè)觀鎖和悲觀鎖分別是什么?

A.樂(lè)觀鎖是數(shù)據(jù)庫(kù)級(jí)別的鎖,悲觀鎖是應(yīng)用級(jí)別的鎖

B.樂(lè)觀鎖是應(yīng)用級(jí)別的鎖,悲觀鎖是數(shù)據(jù)庫(kù)級(jí)別的鎖

C.樂(lè)觀鎖和悲觀鎖都是數(shù)據(jù)庫(kù)級(jí)別的鎖

D.樂(lè)觀鎖和悲觀鎖都是應(yīng)用級(jí)別的鎖

答案:B

二、多項(xiàng)選擇題(每題2分,共10題)

1.Hibernate中的緩存包括哪些?

A.第一級(jí)緩存

B.第二級(jí)緩存

C.第三級(jí)緩存

D.會(huì)話緩存

答案:A,B

2.Hibernate中的關(guān)聯(lián)關(guān)系有哪些?

A.一對(duì)一

B.一對(duì)多

C.多對(duì)多

D.多對(duì)一

答案:A,B,C,D

3.Hibernate中的繼承策略有哪些?

A.單表繼承

B.聯(lián)合繼承

C.表繼承

D.混合繼承

答案:A,B,C

4.Hibernate中的HQL查詢(xún)特點(diǎn)包括哪些?

A.面向?qū)ο?/p>

B.類(lèi)似SQL

C.支持聚合函數(shù)

D.支持分組和排序

答案:A,B,C,D

5.Hibernate中的事務(wù)傳播行為包括哪些?

A.REQUIRED

B.MANDATORY

C.NEVER

D.SUPPORTS

答案:A,B,C,D

6.Hibernate中的FetchType包括哪些?

A.LAZY

B.EAGER

C.DEFAULT

D.PROXY

答案:A,B

7.Hibernate中的CascadeType包括哪些?

A.ALL

B.PERSIST

C.MERGE

D.REFRESH

答案:A,B,C,D

8.Hibernate中的樂(lè)觀鎖策略包括哪些?

A.版本號(hào)樂(lè)觀鎖

B.時(shí)間戳樂(lè)觀鎖

C.悲觀鎖

D.無(wú)鎖

答案:A,B

9.Hibernate中的查詢(xún)方式有哪些?

A.HQL

B.SQL

C.Criteria

D.Query

答案:A,B,C,D

10.Hibernate中的實(shí)體狀態(tài)包括哪些?

A.新建

B.持久

C.游離

D.刪除

答案:A,B,C,D

三、判斷題(每題2分,共10題)

1.Hibernate是一個(gè)對(duì)象關(guān)系映射(ORM)框架。(對(duì))

2.Hibernate只能與MySQL數(shù)據(jù)庫(kù)一起使用。(錯(cuò))

3.Hibernate中的Session是線程安全的。(錯(cuò))

4.Hibernate中的事務(wù)可以跨越多個(gè)Session。(錯(cuò))

5.Hibernate中的延遲加載可以減少數(shù)據(jù)庫(kù)查詢(xún)的次數(shù)。(對(duì))

6.Hibernate中的級(jí)聯(lián)操作可以自動(dòng)處理關(guān)聯(lián)對(duì)象的持久化。(對(duì))

7.Hibernate中的FetchType.LAZY表示關(guān)聯(lián)對(duì)象在需要時(shí)自動(dòng)加載。(對(duì))

8.Hibernate中的樂(lè)觀鎖和悲觀鎖不能同時(shí)使用。(錯(cuò))

9.Hibernate中的Session.get()方法會(huì)從數(shù)據(jù)庫(kù)加載對(duì)象。(對(duì))

10.Hibernate中的Session.load()方法會(huì)拋出異常,如果對(duì)象不存在。(對(duì))

四、簡(jiǎn)答題(每題5分,共4題)

1.請(qǐng)簡(jiǎn)述Hibernate中的臟檢查機(jī)制。

答案:臟檢查(DirtyChecking)是Hibernate用來(lái)檢測(cè)對(duì)象自上次加載或保存以來(lái)是否被修改過(guò)的一種機(jī)制。當(dāng)事務(wù)提交時(shí),Hibernate會(huì)檢查每個(gè)持久化對(duì)象的狀態(tài),如果發(fā)現(xiàn)對(duì)象被修改過(guò),就會(huì)更新數(shù)據(jù)庫(kù)中相應(yīng)的記錄。

2.請(qǐng)解釋Hibernate中的級(jí)聯(lián)操作。

答案:級(jí)聯(lián)操作是指在Hibernate中,當(dāng)對(duì)一個(gè)對(duì)象進(jìn)行保存、更新或刪除操作時(shí),這些操作會(huì)自動(dòng)應(yīng)用到與之關(guān)聯(lián)的對(duì)象上。例如,如果一個(gè)父對(duì)象被刪除,并且設(shè)置了級(jí)聯(lián)刪除,那么與之關(guān)聯(lián)的子對(duì)象也會(huì)被自動(dòng)刪除。

3.請(qǐng)描述Hibernate中的緩存機(jī)制。

答案:Hibernate提供了兩級(jí)緩存機(jī)制。第一級(jí)緩存是Session級(jí)別的緩存,它存儲(chǔ)當(dāng)前Session中所有持久化對(duì)象的快照。第二級(jí)緩存是SessionFactory級(jí)別的緩存,它可以跨多個(gè)Session共享,用于存儲(chǔ)經(jīng)常被訪問(wèn)的數(shù)據(jù),以減少數(shù)據(jù)庫(kù)訪問(wèn)次數(shù)。

4.請(qǐng)解釋Hibernate中的樂(lè)觀鎖和悲觀鎖。

答案:樂(lè)觀鎖是一種基于數(shù)據(jù)版本控制的鎖機(jī)制,它假設(shè)數(shù)據(jù)在大多數(shù)情況下不會(huì)被并發(fā)修改,只在提交更新時(shí)檢查數(shù)據(jù)版本是否一致。悲觀鎖則是一種更為保守的鎖機(jī)制,它在事務(wù)開(kāi)始時(shí)就鎖定數(shù)據(jù),直到事務(wù)結(jié)束才釋放鎖,以防止其他事務(wù)并發(fā)修改數(shù)據(jù)。

五、討論題(每題5分,共4題)

1.Hibernate中的延遲加載和立即加載有什么區(qū)別?請(qǐng)討論它們各自的優(yōu)缺點(diǎn)。

答案:延遲加載可以減少數(shù)據(jù)庫(kù)查詢(xún)次數(shù),提高性能,但可能會(huì)導(dǎo)致“懶加載異常”。立即加載可以避免懶加載異常,但可能會(huì)增加數(shù)據(jù)庫(kù)查詢(xún)次數(shù),降低性能。

2.Hibernate中的繼承策略有哪些?請(qǐng)討論它們各自的適用場(chǎng)景。

答案:?jiǎn)伪砝^承適用于所有子類(lèi)共享相同字段的情況;聯(lián)合繼承適用于子類(lèi)有額外字段且需要獨(dú)立表的情況;表繼承適用于每個(gè)子類(lèi)都有獨(dú)立表的情況;混合繼承是前幾種繼承策略的組合。

3.Hibernate中的事務(wù)傳播行為有哪些?請(qǐng)討論它們?cè)趯?shí)際開(kāi)發(fā)中的應(yīng)用。

答案:REQUIRED表示如果當(dāng)前存在事務(wù),則加入該事務(wù);如果不存在,則創(chuàng)建新的事務(wù)。MANDATORY表示當(dāng)前必須存在事務(wù),否則拋出異常。NEVER表示當(dāng)前

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論