亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

關于EJB的持久化對象技術分析(1)

2019-11-18 13:52:21
字體:
來源:轉載
供稿:網友

表格型的關系型數據庫與樹型java對象之間的映射問題是一個至今爭論不休的問題,好在現在已經有了一些好的解決方案。在本文中,我們將介紹EJB技術是怎樣用自已特定的方式來解決這個問題的。

只要是涉及到保存及查詢信息 ,那絕大多數應用程序都需要與關系數據庫打交道。但由于關系數據庫與Java對象在結構上有著本質的區別,關于它們之間的映射關系對于那些Java開發者們來說,是一個很令人頭痛的問題。關系型數據庫是以表格方式存儲數據的,而Java對象是以樹型方式表現的。這種類型上的不匹配引發了各種各樣的對象持久化解決方案,用來縮小關系世界與對象世界之間的鴻溝。EJB框架正是這種解決方案之一。

對象的持久性



目前有很多不同的工具出現,使得開發人員可以將JAVA對象轉化為數據庫中的字段或記錄,或者將數據庫中的字段或記錄還原為JAVA對象。這些處理涉及到要將樹型的JAVA對象序列化到數據庫中,反之亦然。此工作的核心是怎樣在保證最小性能損失的前提下,來完成這項工作。

EJB框架提供了這樣一個對象持久化機制。我們將在本文中討論這種機制,但首先我們還是對EJB構架作一個全面的熟悉。

企業級JavaBeans(EJB)

EJB技術可以這樣定義:它是一個基于JAVA服務端的,為分布式應用提供的一個可復用的組件框架。所有的商業邏輯、部署定義、對象持久性都由這個框架統一治理,EJB框架的一些特色如下:

· EJB是一種運行在服務端環境下的JAVA對象。

· EJB能分布在不同的機器上進行遠程訪問,但對客戶端來而言,調用EJB與調用本地JavaBean一樣方便。

· EJB容器對EJB進行統一治理。

盡管企業級JavaBean的名字與普通JavaBean在命名上有些相像,但它們在設計上有著本質上的區別。為了能讓你更清楚地熟悉到這點,我們最好先了解一下EJB的基本概念、幾種EJB組件模式和其配置環境。

EJB的運行環境

從本質上來說,EJB只是實現了特定接口的普通JAVA對象,但這個對象必須運行在一個特定的環境:EJB容器中。假如脫離了EJB容器,EJB是無法運行的。EJB與EJB容器之間的關系有時候被稱為"反向調用"――或者叫"好萊塢原理"(別聯系我,到時候我會給你打電話的)。

EJB容器是一種用來治理EJB的運行時環境。它容納并治理不同類型的EJB,這與JAVA servlet容器治理servlet有些類似。EJB容器負責初始化EJB,并給其提供系統級的服務。

當客戶端程序要調用某一個EJB時并不直接與EJB打交道,客戶端與EJB被容器隔離起來。

EJB容器提供的服務



當開發者創建一系列的類與接口,用來組成一個EJB時,容器會為他們提供如下的系統級服務:

· 事務處理

· 安全治理

· EJB的持久化治理

· EJB的遠程訪問

· EJB的生命周期治理

· 數據庫連接池

· EJB的實例池治理

由于EJB容器負責為EJB提供這種底層服務,使得一個EJB開發者只需關注具體應用的商業邏輯,從而減少了很多不必要的麻煩。

EJB的類型

EJB規范定義了以下三種不同類型的EJB類型:

· 消息驅動EJB(MDB)

· 會話EJB

· 實體EJB

當客戶端與會話EJB或實體EJB交互時,它們的通信方式是同步通信。而消息驅動EJB(MDB)則只與JMS進行交互,它相當于JMS中的一個發布/訂閱主題。

消息驅動EJB

消息驅動EJB工作在異步通信模式下。一個消息驅動EJB充當一個消息偵聽者的角色,它偵服從JMS的發布/訂閱主題中傳來的消息。

EJB容器治理著消息驅動EJB的生命周期,然而與會話EJB和實體EJB不同之處在于客戶端并不能直接調用它的方法。消息驅動EJB是通過一個名為onMessage的回調函數來接收客戶端的消息的。

會話EJB

會話EJB的特點是不能同時被多個客戶端共享。當客戶端調用會話EJB的方法時,先經過EJB容器處理,然后再由容器對會話EJB進行調用。會話EJB處理開發者編寫商業邏輯,容器再將處理結果返回給客戶端。會話EJB不能在多個會話中持久保存。它分為兩種類型:有狀態的會話EJB和無狀態的會話EJB。

有狀態的會話EJB

當一個客戶端與某一個有狀態的會話EJB開啟一個會話時,這個EJB為客戶端維護了一個會話狀態。這暗示著客戶端向此EJB發出不同的調用請求之間保證EJB的成員變量值不會丟失。

一旦客戶端結束與有狀態的會話EJB的交互后,EJB容器會自動銷毀它。于是整個會話結束,并且此有狀態的會話EJB所保存的狀態數據會全部丟失。

無狀態會話EJB

無狀態會話EJB并不為客戶端保存任何狀態數據。你可以這樣認為:客戶端每次對無狀態會話EJB的調用都會產生一個新的EJB實例,因此所有的狀態信息都不會保存。 同樣,EJB容器也不會持久化任何無狀態會話EJB,因此開發者必須意識到客戶端與無狀態會話EJB之間進行交互時,所有的狀態數據都是臨時的。無狀態會話EJB的這種特性使得容器可以重復地使用它的實例,因此無狀態會話EJB能得到比有狀態會話EJB更好的性能。

實體EJB

實體EJB表達的的是一種持久存儲的商業邏輯,通常存儲于關系型數據庫中。實體EJB與關系型數據庫有如下的相似之處:

· 實體EJB是持久的――它可以在應用程序的生命周期之外存在,甚至可以在EJB容器的生命周期以外存在。

· 實體EJB答應共享訪問――多個客戶端可以共享同一個實體EJB,而容器負責治理它們之間的同步。

· 實體EJB有主鍵――主鍵用來確定實體EJB的一個唯一實例,利用它可以找到一個特定的持久化實體。

· 實體EJB有事務的概念――由于客戶端能并發訪問并修改它的數據,因此事務治理是非常重要的。事務治理屬性被顯示地定義在部署描述文件中,而容器負責治理事務的邊界。

要實現對象-關系映射,那實體EJB必須能提供插入、更新、查詢、刪除的操作。而用于治理實體EJB對象與數據源之間的映射的過程被稱為持久化。換句話說,持久化是一個將信息寫入外部數據源的一個過程。EJB規范定義了實體EJB的兩種持久化方式:Bean自身治理的持久化(BMP)和容器治理的持久化(CMP)。 




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av免费在线播放| 欧美成人精品在线视频| 国产精品草莓在线免费观看| 日韩av大片免费看| 国产精品视频资源| 欧美性猛交xxxx乱大交3| 国产香蕉精品视频一区二区三区| 亚洲午夜性刺激影院| 精品少妇一区二区30p| 国产视频精品久久久| 欧美精品18videosex性欧美| 精品亚洲va在线va天堂资源站| 日韩av在线网页| 精品成人国产在线观看男人呻吟| 日韩免费黄色av| 中文字幕少妇一区二区三区| 日本精品久久久| 亚洲欧美一区二区精品久久久| 亚洲综合视频1区| 久久久久国产一区二区三区| 日本精品久久久久影院| 亚洲视频一区二区| 日本在线观看天堂男亚洲| 不卡av电影在线观看| 国产成人一区三区| 精品视频一区在线视频| 欧美美最猛性xxxxxx| 国产精品视频网址| 黑人巨大精品欧美一区二区免费| 在线播放国产一区二区三区| 亚洲欧美国产制服动漫| 国产精品国语对白| 亚洲精品综合精品自拍| 97av在线视频| 亚洲男人天堂九九视频| 成人网中文字幕| 人体精品一二三区| 色老头一区二区三区| 亚洲精品有码在线| 精品女同一区二区三区在线播放| 精品国产欧美一区二区三区成人| 国产精品三级在线| 国产精品第七影院| 精品久久久久久久久久久久久| 色综合久久中文字幕综合网小说| 国内精品久久久久伊人av| 亚洲综合视频1区| 成人国产在线视频| 亚洲精品在线不卡| 精品久久久久久久久久久久久| 久久青草福利网站| 亚洲精品少妇网址| 青青草一区二区| 亚洲国产成人精品久久久国产成人一区| 91亚洲精品在线| 欧美激情区在线播放| 久久久女人电视剧免费播放下载| 亚洲美女精品成人在线视频| 日韩欧美大尺度| 中文字幕在线视频日韩| 黑人巨大精品欧美一区免费视频| 日韩av观看网址| 久久午夜a级毛片| 成人久久18免费网站图片| 亚洲国产精品中文| 欧美亚洲国产视频| 精品国产91久久久久久老师| 7777kkkk成人观看| 国产精品99久久久久久久久久久久| 国产aaa精品| 国产91在线视频| 姬川优奈aav一区二区| 欧洲永久精品大片ww免费漫画| 97国产在线观看| 国产日韩欧美在线看| 国产精自产拍久久久久久蜜| 中日韩美女免费视频网站在线观看| 国产成人精品免费久久久久| 久久精品国产视频| 亚洲精品资源在线| 午夜精品久久久久久久久久久久| 亚洲视频在线免费看| 欧美性猛交xxxx乱大交3| 国产日韩精品在线观看| 成人网在线观看| 成人午夜激情网| 亚洲视频一区二区三区| 黑人精品xxx一区一二区| 97精品一区二区视频在线观看| 久久免费视频这里只有精品| 欧美日韩在线观看视频| 国产精品成av人在线视午夜片| www高清在线视频日韩欧美| 成人a视频在线观看| 丝袜亚洲另类欧美重口| 日本精品久久中文字幕佐佐木| 亚洲欧美精品一区| 亚洲日本成人女熟在线观看| 日韩av电影国产| 庆余年2免费日韩剧观看大牛| 国产亚洲一级高清| 国产精品视频1区| 在线观看久久久久久| 欧美日韩在线免费观看| 欧美一级黄色网| 欧美性受xxxx白人性爽| 国产成人精品综合| 亚洲欧美日韩综合| 亚洲精品av在线| 久久久爽爽爽美女图片| 亚洲人在线视频| www高清在线视频日韩欧美| 久久九九有精品国产23| 91在线精品视频| 中文字幕成人精品久久不卡| 欧美乱大交xxxxx另类电影| 国产精品一区久久| 亚洲精品小视频在线观看| 一区二区三区回区在观看免费视频| 亚洲成人精品视频| 国产精品福利小视频| 欧美日韩另类字幕中文| 国产女精品视频网站免费| 欧美激情久久久久| 日韩欧美在线第一页| 成人黄色午夜影院| 丝袜一区二区三区| 久久精视频免费在线久久完整在线看| 欧美激情精品久久久久久黑人| 日韩免费精品视频| 久久久久久尹人网香蕉| 日韩欧美在线网址| 日韩欧美精品中文字幕| 久久成人免费视频| 久久久免费观看视频| 亚洲护士老师的毛茸茸最新章节| 亚洲 日韩 国产第一| 亚洲深夜福利在线| 亚洲精品xxxx| 97婷婷涩涩精品一区| 日本成人在线视频网址| 亚洲а∨天堂久久精品喷水| 国模私拍一区二区三区| 日韩av网站导航| 日韩精品视频中文在线观看| 久久香蕉频线观| 日韩在线播放av| 欧美综合在线第二页| 亚洲www在线观看| 成人午夜在线视频一区| 成人免费在线视频网址| 国产亚洲一区精品| 色婷婷av一区二区三区久久| 亚洲精品一区中文| 久久久久久噜噜噜久久久精品| 青青在线视频一区二区三区| 国产成人一区二| 成人国产亚洲精品a区天堂华泰| 黄网站色欧美视频| 欧美壮男野外gaytube| 在线午夜精品自拍| 亚洲欧美激情一区| 日韩电影免费在线观看中文字幕| 亚洲欧美日韩一区二区三区在线|