欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

好程序員Java教程分享Java面試題之Hibernate

好程序員Java教程分享Java面試題之Hibernate

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括監(jiān)利網(wǎng)站建設(shè)、監(jiān)利網(wǎng)站制作、監(jiān)利網(wǎng)頁(yè)制作以及監(jiān)利網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,監(jiān)利網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到監(jiān)利省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

?

1.簡(jiǎn)書一下Hibernated的開(kāi)發(fā)流程

?

????????第一步:加載Hibernate的配置文件,讀取配置文件的參數(shù),

?

????????第二步:創(chuàng)建SessionFactory會(huì)話工廠(內(nèi)部有連接池)

?

????????第三步:打開(kāi)Session?連接

?

????????第四步:開(kāi)啟事務(wù)

?

????????第五步:運(yùn)行操作

?

????????第六步:提交事務(wù)

?

????????第七步:關(guān)閉session

?

????????第八步:關(guān)閉連接池

?

2.Hibernate?中對(duì)對(duì)象的三種狀態(tài)

?

????瞬時(shí)狀態(tài):不存在持久化標(biāo)識(shí)的OID,尚未與HibernateSession對(duì)象關(guān)聯(lián),被認(rèn)為處于瞬時(shí)狀態(tài),失去引用將被JVM回收

?

????持久態(tài):存在持久標(biāo)識(shí)OID,與當(dāng)前session有關(guān)聯(lián),并且相關(guān)聯(lián)Session沒(méi)有關(guān)閉,并且事務(wù)未提交

?

????游離態(tài):存在持久化標(biāo)識(shí)OID,但沒(méi)有與當(dāng)前Session關(guān)聯(lián),

?

?

?

3.Hibernate的緩存機(jī)制

?

????Hibernate緩存機(jī)制分為兩層,Hibernate的一級(jí)緩存和Hibernate二級(jí)緩存。

?

????1.Hibernate一級(jí)緩存(Session的緩存)

?

Session?實(shí)現(xiàn)了第一級(jí)Cache,屬于事務(wù)級(jí)數(shù)據(jù)緩沖,一旦事務(wù)結(jié)束,緩存隨之失效,一個(gè)Session的生命周期對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)事務(wù)或一個(gè)程序事務(wù)。

?

????????Session-Cache總是被打開(kāi)并且不能被關(guān)閉的

?

Session-Cache?保證一個(gè)Session中兩次請(qǐng)求同一個(gè)對(duì)象時(shí),取得的對(duì)象是一個(gè)Java實(shí)例,有時(shí)他可以避免數(shù)據(jù)不必要的沖突

?

Hibernate?二級(jí)緩存(SessionFactory的緩存)

?

(1)Hibernate?二級(jí)緩沖是SessionFactory范圍內(nèi)的緩存,所有的Session共享一個(gè)二級(jí)緩存,在二級(jí)緩存中保存持久化實(shí)例

?

????????的散裝形式的數(shù)據(jù)

?

(2)持久化不同的數(shù)據(jù)需要不同的Cache?策略,比如一些因素影響Cache策略的選擇:數(shù)據(jù)的讀寫比例,數(shù)據(jù)表能否被其他的應(yīng)用程序所訪問(wèn)等。

?

????設(shè)置Hibernate?二級(jí)緩存需要分兩步,首先,確認(rèn)使用什么數(shù)據(jù)并發(fā)策略,然后,配置緩存期間時(shí)間并設(shè)置Cache提供器

?

????Hibernate的查詢方式常見(jiàn)有三種:HQL,QBC(命名查詢),以及使用原生SQL查詢

?

?

?

Hibernate和JDBC優(yōu)缺點(diǎn)對(duì)比

?

????相同點(diǎn):

?

????????????1)兩者都是java數(shù)據(jù)庫(kù)操作的中間件

?

????????????2)兩者對(duì)數(shù)據(jù)庫(kù)進(jìn)行直接操作的對(duì)象時(shí)線程不安全的,都需及時(shí)關(guān)閉

?

????????????3)兩者都可對(duì)數(shù)據(jù)庫(kù)的更新操作進(jìn)行顯示的事務(wù)處理

?

????????使用的SQL語(yǔ)言不同:JDBC使用是基于關(guān)系型數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)SQL語(yǔ)言。Hibernate使用是HQL語(yǔ)言

?

????????操作的對(duì)象不同:JDBC操作的是數(shù)據(jù),將數(shù)據(jù)通過(guò)SQL語(yǔ)句直接發(fā)送的數(shù)據(jù)庫(kù)中執(zhí)行,Hibernate操作的是持久化對(duì)象,有第吃了個(gè)持久化對(duì)象的數(shù)據(jù)更新到數(shù)據(jù)庫(kù)中

?

????????數(shù)據(jù)狀態(tài)不同:JDBC操作的數(shù)據(jù)時(shí)瞬時(shí)的,變量的值無(wú)法與數(shù)據(jù)庫(kù)中值保持一致,而Hibernate操作的數(shù)據(jù)時(shí)可持久化的,即持久化對(duì)象的數(shù)據(jù)屬性的值是可以跟數(shù)據(jù)庫(kù)中的值保持一致

?

?

?

????關(guān)于Hibernate的orm思想你了解多少?

?

????ORM指的是對(duì)象關(guān)系型映射,指的就是我們通過(guò)創(chuàng)建實(shí)體類對(duì)象和數(shù)據(jù)庫(kù)中的表關(guān)系進(jìn)行一一對(duì)應(yīng),來(lái)實(shí)現(xiàn)通過(guò)操作實(shí)體類對(duì)象來(lái)更改數(shù)據(jù)庫(kù)里邊的數(shù)據(jù)信息,這里邊起到關(guān)鍵作用的是通過(guò)Hibernate的映射文件+Hibernate的核心配置文件

?

get和load的區(qū)別

?

????1.get是立即加載,load是延時(shí)加載

?

2.get會(huì)先查一級(jí)緩存,在查二級(jí)緩存,然后查數(shù)據(jù)庫(kù);load會(huì)先查一級(jí)緩存,如果沒(méi)找到,就創(chuàng)建代理對(duì)象,等需要的時(shí)候去查詢二級(jí)緩存和數(shù)據(jù)庫(kù),(這里體現(xiàn)load的延遲加載的特性)

?

????3.get如果沒(méi)有找到會(huì)返回null,load如果沒(méi)有找到會(huì)拋出異常

?

4.當(dāng)我們使用session.load方法加載一個(gè)對(duì)象時(shí),此時(shí)并不會(huì)發(fā)出SQL語(yǔ)句,當(dāng)前得到得這個(gè)對(duì)象其實(shí)是一個(gè)代理對(duì)象。這個(gè)代理對(duì)象只保存了實(shí)體對(duì)象的id值,只有當(dāng)我們使用這個(gè)對(duì)象,得到其它屬性時(shí),這個(gè)時(shí)候才會(huì)發(fā)出SQL語(yǔ)句,從數(shù)據(jù)庫(kù)中去查詢我們的對(duì)對(duì)象,相當(dāng)于load的延遲加載方式。get就直接的多,當(dāng)我們使用Session.get()方法來(lái)得到一個(gè)對(duì)象時(shí),不管我們使不使用這個(gè)對(duì)象,此時(shí)都會(huì)發(fā)出SQL語(yǔ)句從數(shù)據(jù)庫(kù)中查詢出來(lái)

?

?

?

如何進(jìn)行Hibernate?的優(yōu)化

?

1.數(shù)據(jù)庫(kù)設(shè)計(jì)調(diào)整。

?

2.HQL優(yōu)化

?

3.API的正確使用

?

4.主配置參數(shù)(日志,查詢緩存,fetch_sieze,batch_size).

?

5。映射文件優(yōu)化(ID生成策略,二級(jí)緩存,延遲加載,關(guān)聯(lián)優(yōu)化)

?

?6.一級(jí)緩存的管理

?

7.針對(duì)二級(jí)緩存,還有許多特有的策略

?

8.事務(wù)控制策略

?

?

網(wǎng)站名稱:好程序員Java教程分享Java面試題之Hibernate
轉(zhuǎn)載來(lái)于:http://aaarwkj.com/article26/jjgjcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、外貿(mào)建站、定制網(wǎng)站網(wǎng)站設(shè)計(jì)、網(wǎng)站內(nèi)鏈、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
久久婷婷av一区二区三区| 亚洲精品成人免费电影| 国产日韩精品一区二区在线| 一区二区中文字幕日本韩国| 亚洲激情久热中文字幕| 日本中文有码视频在线观看| 欧美日韩在线观看不卡视频| 精品三级黄色国产片| 一级片欧美女人性生活片| 午夜福利影片免费观看| 扒开少妇毛茸茸的大荫萍蒂| 欧美日韩一级一区二区| 欧美三级欧美一级视频看| 亚洲精品一区二区毛豆| 综合激情四射亚洲激情| 国产爆操美女在线观看| 日本在线观看高清区一区二| 亚洲一区二区三区av电影| 91精品国产综合久久男男| av中文字幕熟妇人妻少妇| 国产高跟丝袜av专区| 午在线亚洲男人午在线| 欧美日韩在线观看不卡视频| 国产精品情侣av自拍| 欧美日韩精品偷拍一区二区| 青青草手机在线视频免费观看| 久久国内午夜福利直播| 国产亚洲精品久久久闺蜜| 欧美久久久久综合一区| 久久国产福利一区二区| 在线观看高清国产黄色片| 精品综合亚洲中文字幕| 中文字幕制服国产精品| 欧美亚洲午夜精品久久久| 亚洲精品日韩一区二区| 国产亚洲一区二区三区午夜| 一二三日韩电影在线观看 | 人人看男人的天堂东京| 又黄又爽又刺激的性视频| 亚洲男人天堂在线播放| 日本免费一区二区三区的电影啊|