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

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

EJB 3.0是Hibernate的克隆嗎?

2019-11-18 11:35:06
字體:
來源:轉載
供稿:網友

  摘要 Sun的EJB 3.0規范正處于其最后的"沖刺"階段,許多公司都在為遵循這一規范而忙碌著。這個EJB規范最新版本所提供的眾多優點中比較突出的當屬其數據庫功能,但是一些開發人員感到,這個規范僅僅是Hibernate持久性存儲引擎的一個"克隆"版。真的嗎?本文正是想討論這一問題。

  實踐證實,Hibernate是針對于java語言所創建的最優秀的持久化存儲引擎之一。至今,我還清楚地記得第一次使用Hibernate工作的情景。當時,我們已經有了一種現成的持久化存儲引擎,但是這個引擎將消耗大量的系統資源并且從未真正正確工作過。令人驚異的是,Hibernate"瞬間"解決了我們的持久化存儲問題!這真是一個"天賜之物"。不覺間,時間快速推進到今天。EJB 3.0又浮出水面,并且不久我們就要計劃把我們當前的EJB 2.x服務器向這個更高版本升級了。然而,仔細地分析一下EJB 3.0中所作的持久性存儲變化,有人可能會感到驚奇-這不是來自于Hibernate的一個"克隆"品嗎?難道Sun當真"偷竊"了來自于Hibernate的設計嗎?我的回答是,情況要比這些復雜得多。

  一、 EJB 3.0

  EJB 3.0必須實現的重要目標之一是,要使之成為更為有用和更易于使用的開發工具。Sun公司的Linda DeMichiel熟悉到,為了成功實現這一目標,EJB 3.0必須要基于開發人員今天正在使用的現有庫;否則,它將會導致一種困難的升級操作并且可能會引不起足夠的重視。因此,來自于Oracle,JBoss,Apache,BEA,Novell,Google的成員和其它方面的專家都被邀請參與制訂這一規范。這個小組的目標是,生產一種規范-能夠使得EJB更易于開發并且還要創建一種便于開發人員能夠輕易地實現升級的持久性存儲標準。

  當這個小組開始開發EJB 3.0規范時,他們很快熟悉到,其中很多特征應該在功能上與所有的主要的供給商和庫保持一致。我們將在下面的幾節中討論這些特征。

  (一) EntityManager

  這個EntityManager負責處理一個事務。在JDO中,它被稱作持久性存儲治理器,而在Hibernate中稱它為一個會話。在GlassFish工程中,EntityManager被作如下描述:

  其實,一個EntityManager實例與一個持久性存儲上下文相關聯。一個持久性存儲上下文是一組實體實例,其中的任何一個持久性實體都是唯一的一個實體實例。在該持久性存儲上下文中,實體實例及其生命周期都是可被治理的。這個接口定義了用于與持久性存儲上下文進行交互的方法。EntityManager API用于創建和刪除持久性實體實例-通過其主鍵查找實體和查詢實體。

  這個可由一個給定的EntityManager實例治理的實體集合是通過一個持久性存儲單元進行定義的。一個持久性存儲單元定義了所有類的集合,這些類是相聯系的或由應用程序加以分組,并且它們必須共存于它們到單個數據庫的映射中。

  (二) 命名查詢

  一個命名查詢是一個預定義的查詢,它被賦予一個名字,這樣它可以在以后通過該名字加以存取。用數據庫術語來說,命名查詢被稱作存儲過程。當結合本機查詢時(見下一節),數據庫查詢應該是非常輕松的。

  (三) 本機查詢

  不是使用具有很多限制性的實體查詢語言,本機查詢答應直接從EJB中全面地使用SQL語言?,F在,我們有可能直接在數據庫上調用count(),max()和其它功能而不必付出其它周折。

  (四) 回調監聽器

  回調監聽器,是一種事件監聽器,或用數據庫術語來說是,是一種觸發器。它們支持當一個事件發生時進行代碼調用。

  (五) 脫離/重新依附對象

  能夠脫離開一個EntityManager的控制范圍而又能夠重新返回而被持續化存儲,這在EJB 3.0版本之前是無法實現的。在以前,為了實現這一目的,必須把來自于一個對象的值必須被復制到一個POJO(普通Java對象)中,然后被再往回復制。

  在EJB 3.0之前,我總是使用值-對象并且把來自于EJB的值復制到一個POJO中;然后,使用在前端使用該對象。假如該POJO中的一個值被改變,它將不得不被"推回"到該EJB;然后,該值被復制回來。這種"混亂"狀態現在已經不復存在了。一個對象甚至能夠完全離開JVM并且在以后某個時期返回回來并且被重新依附。這種改變所帶來的效率是不能被低估的。

  (六) O/R映射類型

  能夠把一個EJB中的字段直接映射到一個數據庫中的列上是EJB 3.0以前也是很難實現的。這一功能實現一直不那么令人滿足,并且很多第三方開發工具都一再推遲對這種功能的支持。我最喜歡的xDoclet的一個特征是,它能夠定義在我的EJB中每一個持久性字段對應哪種SQL類型。借助于EJB 3.0和注解技術,我們不再需要使用一種第三方工具。

  二、 EJB 3.0對象

  值得注重的是,企業Java Bean現在被稱為POJO。隨著注解技術的出現,java bean不再需要接口、home和描述符支持文件。僅僅這個特征就為EJB 3.0贏得了大批開發團隊的青睞。

  現在,既然企業對象不再被鎖定到應用程序服務器內,那么我們不再需要把它們復制進和復制出POJO,這樣就答應不必把應用程序服務器后端和前端區別得那么嚴格,從而使開發人員能夠更輕易地顯示和編輯存儲于EJB中的數據。我們很快就會看到這些變化對xDoclet所產生的有趣影響。

  三、 結論

  盡管毫無疑問,EJB 3.0基于Hibernate,但是,事實上它是基于所有的頂級的對象/關系映射工具。看來,這個工具并非這些工具簡單"修改"版,而事實上是由Sun創造的又一部杰出的"電影"。不必讓開發人員學習一種"全新的但還是功能相同的工具",開發人員只需要輕松地花一些時間就可以升級到新版的EJB 3.0中,因為EJB 3.0正是基于他們已經了解和喜歡的工具創建的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品自拍偷拍视频| 中文字幕不卡在线视频极品| 中文字幕日韩免费视频| 青青草国产精品一区二区| 欧美国产日韩中文字幕在线| 国产v综合ⅴ日韩v欧美大片| 精品亚洲一区二区三区四区五区| 高清欧美性猛交xxxx黑人猛交| 国产午夜精品一区二区三区| 欧美日韩国产影院| 国产精品狠色婷| 亚洲丁香婷深爱综合| 国产精品盗摄久久久| 欧美最顶级丰满的aⅴ艳星| 精品中文字幕在线2019| 精品亚洲va在线va天堂资源站| 久久久久久久影视| 久99九色视频在线观看| 日韩高清免费观看| 国产午夜精品全部视频在线播放| 97人人模人人爽人人喊中文字| 亚洲香蕉伊综合在人在线视看| 97在线日本国产| 欧美高清视频在线观看| 国产精品一区二区久久久| 国产精品黄色av| 欧美日韩成人免费| 亚洲一二在线观看| 日韩亚洲在线观看| 国产欧美在线视频| 欧美成人精品不卡视频在线观看| 国产精品av在线播放| 中文字幕九色91在线| 亚洲国产精品va在线观看黑人| 一区二区在线免费视频| 久久久久久12| 国产一区二区三区在线播放免费观看| 羞羞色国产精品| 欧美日韩在线第一页| 亚洲美女动态图120秒| 欧美日本啪啪无遮挡网站| 在线成人激情视频| 91黄色8090| 国产91在线播放精品91| 欧美一级电影免费在线观看| 永久免费看mv网站入口亚洲| 91精品一区二区| 亚洲欧美国产一区二区三区| 国产精品高潮呻吟久久av野狼| 久久天天躁狠狠躁夜夜躁2014| 亚洲欧美激情精品一区二区| 欧美乱妇高清无乱码| 国产成人精品网站| 狠狠色香婷婷久久亚洲精品| 久久视频在线免费观看| 国产97在线亚洲| 热99久久精品| 毛片精品免费在线观看| 国产日韩精品一区二区| 欧美诱惑福利视频| 国产xxx69麻豆国语对白| 国产在线观看精品| 国产欧美一区二区三区久久人妖| 美女性感视频久久久| 91在线免费视频| 亚洲国产精品嫩草影院久久| 国产日韩亚洲欧美| 福利视频一区二区| 69久久夜色精品国产69| 成人精品aaaa网站| 中文字幕欧美日韩| 久久在线精品视频| 国产不卡av在线免费观看| 91色琪琪电影亚洲精品久久| 亚洲国产成人精品一区二区| 性欧美xxxx视频在线观看| 亚洲免费人成在线视频观看| 国产精品美女免费看| 992tv在线成人免费观看| 亚洲免费视频观看| 欧美在线一区二区三区四| 国产福利精品视频| 日日狠狠久久偷偷四色综合免费| 亚洲最新av在线| 国产精品永久免费视频| 欧美国产乱视频| 中文字幕亚洲欧美日韩在线不卡| 日韩欧美成人精品| 欧美电影第一页| 成人激情在线播放| 亚洲一区二区久久久久久| 97在线视频免费| 日韩av中文字幕在线免费观看| 久久久噜噜噜久久| 欧美黑人xxxⅹ高潮交| 日韩大胆人体377p| 亚洲精品国精品久久99热一| 久久激情视频免费观看| 亚洲福利视频二区| 日本不卡高字幕在线2019| 午夜精品一区二区三区在线播放| 九九热99久久久国产盗摄| 久久电影一区二区| 日韩在线www| 国产精品亚洲精品| 久久精品影视伊人网| 国产专区精品视频| 97精品久久久中文字幕免费| 国产精品美女主播在线观看纯欲| 日韩av在线免费观看| 欧美日韩国产精品| 91免费视频网站| 久久精品国产亚洲一区二区| 国产一区二区三区久久精品| 97免费视频在线播放| 精品亚洲一区二区三区在线播放| 亚洲欧美日韩第一区| 欧美在线一区二区视频| 97在线看免费观看视频在线观看| 国产做受69高潮| 欧美猛少妇色xxxxx| 国产免费一区二区三区在线观看| 亚洲美女av在线播放| 国产一区二区三区毛片| 亚洲综合中文字幕68页| 欧美激情第99页| 亚洲专区在线视频| 在线免费看av不卡| 国产精品丝袜久久久久久不卡| 久久久久久网址| 亚洲天堂男人天堂| 国产美女精品视频| 国产精品自拍视频| 亚洲最大成人网色| 国产精品老牛影院在线观看| 亚洲精品v欧美精品v日韩精品| 欧美不卡视频一区发布| 欧美亚洲另类制服自拍| 欧美色欧美亚洲高清在线视频| 日韩在线观看免费网站| 78色国产精品| 亚洲国产另类久久精品| 欧美一级在线亚洲天堂| www.日韩不卡电影av| 精品国产一区二区三区久久| 91精品国产自产在线老师啪| 欧美诱惑福利视频| 91亚洲一区精品| 久久久视频在线| 68精品久久久久久欧美| 色婷婷av一区二区三区在线观看| 国产精品成人免费视频| 欧美午夜影院在线视频| 久久人人爽人人| 欧美另类高清videos| 日本精品性网站在线观看| 欧美大全免费观看电视剧大泉洋| 福利精品视频在线| 91精品国产色综合久久不卡98口| 97免费中文视频在线观看| 亚洲欧美日韩在线一区| 久久亚洲私人国产精品va| 成人精品视频99在线观看免费| 国产日韩欧美中文|