亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Hibernate框架持久化應(yīng)用及原理探析

        2017-02-18 16:16:36溫立輝
        科技創(chuàng)新與應(yīng)用 2017年3期
        關(guān)鍵詞:映射事務(wù)實(shí)體

        摘 要:針對(duì)Web應(yīng)用開發(fā)中如何高效的與存儲(chǔ)層交互問題,討論了Hibernate框架的持久化機(jī)制以及實(shí)現(xiàn)原理,闡述Hibernate框架的適用場(chǎng)景;同時(shí)討論ORM的思想原理,最后說明Hibernate框架在Web開發(fā)中的重要作用。

        關(guān)鍵詞:ORM;持久化;實(shí)體;事務(wù);映射

        前言

        Hibernate框架最初是由一個(gè)名字為Gavin King的程序員,在2001年根據(jù)自己對(duì)ORM思想的理解,構(gòu)建出來的一個(gè)Java持久化應(yīng)用。在推出第一版后,很快得到了編程界的廣泛關(guān)注,并隨后被JBoss公司收購,從此Hibernate框架不斷推陳出新,在Java EE持久化領(lǐng)域獨(dú)占熬頭。

        1 Hibernate框架應(yīng)用

        Hibernate作為一個(gè)持久化框架,其底層對(duì)JDBC的API進(jìn)行了封裝,并在上層把自身的API暴露給應(yīng)用程序業(yè)務(wù)層的一種全自動(dòng)類型的持久化框架。其之所以能風(fēng)靡編程界,與其自身的特性密切相關(guān)。

        (1)Hibernate框架提供多個(gè)級(jí)別的緩存來加快數(shù)據(jù)的讀寫速度,如:一級(jí)的Session緩存、二級(jí)的插拔緩存。

        (2)Hibernate框架的API及HQL語句具有開發(fā)性,能夠在不同的關(guān)系型數(shù)據(jù)庫中通用,可以實(shí)現(xiàn)一次編寫,隨處運(yùn)行的思想。

        (3)Hibernate框架的實(shí)體類中,只要求有對(duì)應(yīng)的set、get方法,而無須引入其它類,因而它是一種非入侵的開發(fā)方式。

        2 ORM原理與實(shí)現(xiàn)

        ORM也叫對(duì)象關(guān)系映射(Object Relation Mapping),是面向?qū)ο笳Z言操作持久層的一種有力工具。因面向?qū)ο笳Z言與關(guān)系數(shù)據(jù)數(shù)據(jù)庫的交互存在一定的障礙,作為ORM的職責(zé)就是在它們中間建立一個(gè)交互的渠道,以方便程序與數(shù)據(jù)層的通信。

        ORM的實(shí)現(xiàn)方式有很多種,Hibernate是其中的一種開源實(shí)現(xiàn)方式,具體實(shí)現(xiàn)過程如圖1所示。通過ORM插件的映射API及XML映射規(guī)則,面向?qū)ο笳Z言域模型中的業(yè)務(wù)實(shí)體最終變成關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)表,對(duì)象將成為表中記錄,屬性將映射成表中的字段。應(yīng)用程序?qū)⑼ㄟ^Hibernate框架的HQL語句及實(shí)體對(duì)象與ORM插件模塊進(jìn)行通信,而關(guān)系數(shù)據(jù)庫則通過SQL語句及數(shù)據(jù)關(guān)系與ORM插件模塊交互。

        3 Hibernate框架組件

        Hibernate框架的ORM運(yùn)作機(jī)制以及跨數(shù)據(jù)庫平臺(tái)執(zhí)行能力是通過五大核心組件支撐起來,如圖2所示。

        Configuration接口:從配置文件hibernate.cfg.xml與實(shí)體映射文件*.hbm.xml文件中讀取相應(yīng)的配置信息,負(fù)責(zé)程序運(yùn)行環(huán)境初始化,并構(gòu)建BeanFatory實(shí)例。

        SessionFatory接口:代表關(guān)系數(shù)據(jù)庫中的邏輯數(shù)據(jù)源,為重量級(jí)組件,一個(gè)實(shí)例代表一個(gè)邏輯庫,不能隨意創(chuàng)建及銷毀。

        Session接口:代表關(guān)系數(shù)據(jù)庫的連接,輕量級(jí)組件,從SessionFatory接口中可取得此實(shí)例,該實(shí)例中有對(duì)關(guān)系數(shù)據(jù)庫增、刪、改、查的操作API。

        Query接口:框架中所有通過HQL語句去操作關(guān)系數(shù)據(jù)庫時(shí),都必須通過此組件來實(shí)現(xiàn),從Session接口中取得該實(shí)例。

        Transaction接口:框架的事務(wù)管理接口,所有對(duì)關(guān)系數(shù)據(jù)庫的寫操作都必須在框架中開啟事務(wù),否則不會(huì)提交到數(shù)據(jù)庫存儲(chǔ)層。

        4 Hibernate對(duì)象管理

        當(dāng)應(yīng)用程序通過Hibernate API與關(guān)系數(shù)據(jù)庫交互時(shí),持久化框架內(nèi)的實(shí)體對(duì)象存在著如圖3所示生命周期管理過程。

        當(dāng)業(yè)務(wù)實(shí)體對(duì)象被通過new的方式剛剛創(chuàng)建時(shí),這時(shí)實(shí)體對(duì)象還未與任何持久化機(jī)制發(fā)生關(guān)聯(lián),與普通的JavaBean對(duì)象完成一模一樣,此時(shí)實(shí)體對(duì)象的狀態(tài)稱之為臨時(shí)狀態(tài),也叫瞬時(shí)狀態(tài)。

        當(dāng)實(shí)體對(duì)象進(jìn)入Hibernate的Session緩存時(shí),此時(shí)的對(duì)象已經(jīng)跟持久化機(jī)制發(fā)生關(guān)聯(lián),實(shí)體對(duì)象則處于持久化狀態(tài)。

        當(dāng)實(shí)體對(duì)象已經(jīng)變成關(guān)系數(shù)據(jù)庫數(shù)據(jù)表中的某條記錄時(shí),且已不存在Session中,此時(shí)則稱實(shí)體對(duì)象處于游離狀態(tài)或脫管狀態(tài)。

        實(shí)體對(duì)象的狀態(tài)可以通過框架API的中方法,在三種狀態(tài)中進(jìn)行相互的轉(zhuǎn)換。在臨時(shí)狀態(tài)下,通過save方法可以使對(duì)象變成持久化狀態(tài),在持久化狀態(tài)下則可以通過delete方法,使對(duì)象重新返回到臨時(shí)狀態(tài)中。在持久化狀態(tài)下,則可以通過close、clear等方法使對(duì)象變成游離狀態(tài),反過來,通過lock、update等方法則可以使對(duì)象的狀態(tài)從游離形式返回到持久化形式。在游離狀態(tài)下,還可以通過delete方法,直接使對(duì)象返回到臨時(shí)狀態(tài)。

        5 結(jié)束語

        Hibernate框架是一個(gè)持久層的優(yōu)秀框架,同時(shí)也是一個(gè)主流的ORM工具,其可以讓開發(fā)人員以對(duì)象思維操作關(guān)系型數(shù)據(jù)庫,讓編碼過程變得更加簡(jiǎn)潔、高效。但其也存在一定不足,如,數(shù)據(jù)庫特性功能被抹殺,不支持批量操作等,以上是可以進(jìn)一步完善的方面。

        參考文獻(xiàn)

        [1]張少應(yīng),程傳旭.基于Hibernate的對(duì)象關(guān)系映射研究[J].電子設(shè)計(jì)工程,2016,24(6):128-130.

        [2]宮生文,王寧.Hibernate作為J2EE數(shù)據(jù)持久層的分析和研究[J].計(jì)算機(jī)與信息技術(shù),2006(4):36-38.

        [3]卞林,鄭中華,唐曉新.一種基于Hibernate的并行查詢方法[J].電子技術(shù)與軟件工程,2016(7):181-183.

        [4]溫立輝.Java EE編程技術(shù)[M].北京:北京理工大學(xué)出版社,2016:125-155.

        [5]王琦,袁鵬博,陳義明.Hibernate對(duì)象管理研究[J].電腦知識(shí)與技術(shù):學(xué)術(shù)交流,2014(12):8165-8166,8169.

        猜你喜歡
        映射事務(wù)實(shí)體
        “事物”與“事務(wù)”
        基于分布式事務(wù)的門架數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
        河湖事務(wù)
        前海自貿(mào)區(qū):金融服務(wù)實(shí)體
        中國外匯(2019年18期)2019-11-25 01:41:54
        實(shí)體的可感部分與實(shí)體——兼論亞里士多德分析實(shí)體的兩種模式
        兩會(huì)進(jìn)行時(shí):緊扣實(shí)體經(jīng)濟(jì)“釘釘子”
        振興實(shí)體經(jīng)濟(jì)地方如何“釘釘子”
        RMI原則在代數(shù)學(xué)教學(xué)中的應(yīng)用
        論美國動(dòng)畫電影題材變化及現(xiàn)實(shí)映射意義
        試論泰國文化對(duì)外來廣告的映射
        東方教育(2016年3期)2016-12-14 20:50:00
        特级做a爰片毛片免费看108| 亚洲中文字幕综合网站| 亚州无线国产2021| 日韩欧美亚洲国产一区二区三区| 日韩av一区二区三区在线观看| 日本一区二区日韩在线| 日本视频一区二区三区观看| 999zyz玖玖资源站永久| 鸭子tv国产在线永久播放| 中文字幕精品久久久久人妻红杏1| 欧美日本国产亚洲网站免费一区二区| 91国语对白在线观看| 黄片视频大全在线免费播放| 欧美大屁股xxxx高潮喷水| 久久夜色精品国产欧美乱| 久久久久久久妓女精品免费影院| 亚洲愉拍自拍视频一区| 日本韩国亚洲三级在线| 小妖精又紧又湿高潮h视频69| 少妇性俱乐部纵欲狂欢电影| 娜娜麻豆国产电影| 五月婷婷俺也去开心| 最新国产成人综合在线观看| 黑丝美女被内射在线观看| 特级黄色大片性久久久| 色婷婷一区二区三区四区成人网| 国产精品无码久久综合| 中文字幕人妻熟女人妻洋洋| 国产美女高潮流白浆在线观看 | www.久久av.com| 国产三级一区二区三区在线观看| 成人性生交大片免费入口| 帮老师解开蕾丝奶罩吸乳网站| 国产精品欧美一区二区三区| 无码成人aaaaa毛片| 久久精品国产亚洲综合色| 亚洲av第二区国产精品| 亚洲av在线观看播放| 护士的小嫩嫩好紧好爽| 国产乱人伦在线播放| 自慰高潮网站在线观看|