<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java-Android-jwebee
    Java-Android-jwebee
    對IT人來說,要成為一個優(yōu)秀的技術(shù)型管理者,除了需要具備扎實的技術(shù)基礎(chǔ)之外,還應(yīng)該培養(yǎng)良好的人際關(guān)系能力、談判與溝通技能、客戶關(guān)系與咨詢技能、商業(yè)頭腦和財務(wù)技能以及創(chuàng)新意識,此外還要有巧妙的激勵技巧和化解沖突與解決突發(fā)問題的能力.

    作者 James Kao譯者 宋瑋 發(fā)布于 2008年1月16日 上午1時39分

    社區(qū)
    Java
    主題
    數(shù)據(jù)訪問

    java.net刊登了一篇由Sharad Acharya所寫的名為Java Persistence Framework: Which, When, and What?的文章,文中比較了四種流行的持久化框架:CMP Entity EJBs、JPA、Hibernate和TopLink。Acharya討論了每種技術(shù)并在一個表格中總結(jié)了他的結(jié)論,其結(jié)論歸結(jié)為:

    JPA
    適合J2SE和J2EE的簡單框架,并入了其他框架的許多有用特性,但是需要Java 5或更高版。

    CMP Entity EJBs
    J2EE容器所支持的框架,擁有安全和事務(wù)管理、很好的可伸縮性、以及分布式的組件能力,但是耗費資源且學(xué)習(xí)和使用較為復(fù)雜。

    Hibernate
    簡單、靈活的框架,完全免費且易于與其他框架集成,但由于是開源的,因而可能有支持問題。

    TopLink

    Oracle的中心框架,十分成熟,但是使用它意味著綁死在一個單一廠商上。

    該文章引發(fā)了相當(dāng)數(shù)量的評論,尤其是圍繞著JPA和EJB 3.0中的Entity Beans之間的關(guān)系、以及作為開源框架的Hibernate的潛在不利因素方面的評論。

    一個評論者在其關(guān)于Entity Beans和JPA的評論中這樣寫道:

    該文章討論了使用JDBC的Bean-Managed Persistence (BMP)與Container-Managed Persistence之間的對比,但是EJB3.0為實體bean持久化引入了一個全新的模型。我必須假設(shè)作者在這里討論的是EJB 2.x。

    “遠程接口模型”的討論也暗示了作者仍然在談?wù)揈JB 2.x,而且他文章中的大部分針對Enterprise JavaBean的背景信息及所羅列的缺點實際上是對EJB 1.x和 EJB 2.x而言的,而非針對EJB 3.0。

    這有點混亂,因為作者提及了EJB 3.0使用注解消除了許多伴隨在以前版本EJB左右的編碼困難。但是在下一個句子里他接著說道,“EJB架構(gòu)的學(xué)習(xí)和使用絕非易事”,并且羅列了一些以前EJB版本的一些常見問題。

    作者還談到了EJB在其他框架中不能使用,但是EJB 3.0使用了“普通”Java類,它可以在其它框架中使用,只要這些框架忽略掉該普通Java類的JPA注解即可。

    JPA作為EJB 3規(guī)范的一部分被創(chuàng)建,而且是EJB 3的固有部分。該規(guī)范制定者確定符合JPA規(guī)范的實現(xiàn)應(yīng)當(dāng)支持SE環(huán)境。該作者提到了JPA在EJB和SE環(huán)境下都可以工作,但是接著又說要使用JPA,Java EE 5是必須的。這不是事實,因為要使JPA工作,SE并不需要依賴于EE。

    該篇文章所羅列的JPA的一個“不利因素”是JPA的能力受限于實現(xiàn)廠商。事實是“廠商”必須實現(xiàn)所有規(guī)范要求,包括Hibernate(它也是一個JPA實現(xiàn)的“廠商”)。有些人可能不得不自己寫類庫或框架,唯一的問題是他們所寫的類庫或框架是否與標(biāo)準(zhǔn)兼容。而其他一些人所涵蓋的框架“可能”是基于標(biāo)準(zhǔn)的(構(gòu)建在標(biāo)準(zhǔn)之上),Java對象關(guān)系映射持久化框架自身就是標(biāo)準(zhǔn),它是一套Java持久化API。

    EJB 3.0和JPA之間是單向依賴。任何EJB 3.0實現(xiàn)應(yīng)當(dāng)被預(yù)期為是大量基于JPA的,但是JPA出現(xiàn)并不意味著EJB必須出現(xiàn),因為Java SE可以使用JPA。

    另一個抱怨把開源作為一個不利因素的描述如下:
    我認為我不同意你關(guān)于“開源是不利因素”的直白敘述。實際上,這種論調(diào)具有一定的誤導(dǎo),它實際上可能會給你的項目增加不利因素。我所工作的一個項目決定用Kodo替代Hibernate,僅僅因為LGPL還不夠友好(不利因素,等等)。當(dāng)我看了代碼之后我發(fā)現(xiàn)這是多么錯誤的一個決定……Hibernate那時遠遠勝出而且現(xiàn)在我仍然這么看。現(xiàn)在維護起來困難且棘手。工作量完全不一樣……
    盡管如此,有些人還是插話表達對作者主張的支持:
    開源項目通常“是”一個不利因素,而且Hibernate確實有嚴(yán)重的支持問題。除非你向該組織付費,否則你將發(fā)現(xiàn)他們的支持非常糟糕。Bug報告和特性要求將伴以粗陋的評論而被關(guān)閉掉。張貼在論壇上的討論會被忽略。普通(免費)支持將來也會很困難。

    任何正在考慮使用Hibernate的人應(yīng)該認識到,90%的時間它會像魔法一樣在工作,但是你將會浪費“數(shù)以天計”的時間修改那剩下的10%。他們通過使產(chǎn)品更難使用和掌控支持來獲利,這是他們掙錢的方式,就像其他開源項目一樣。

    Hibernate最大的易用性問題是其異常消息。有時你會得到一個誤導(dǎo)性的錯誤信息,把你引向一個錯誤的方向。還有時你會得到非常模糊的信息,讓你無法判斷什么地方出了錯。如果你提出一個RFE,要求他們改善錯誤報告,你將會得到一個粗陋的評論,而且這個RFE將迅速被關(guān)閉。這只是我的個人看法。

    查看英文原文:JPA Frameworks Compared



    jwebee

    我的個人網(wǎng)站
    posted on 2008-01-21 09:30 周行 閱讀(721) 評論(0)  編輯  收藏 所屬分類: IT技術(shù)
    Java-Android-jwebee
    主站蜘蛛池模板: 久久久高清日本道免费观看| 亚洲国产精彩中文乱码AV| 久操视频在线免费观看| 免费视频成人国产精品网站| 亚洲中文久久精品无码1| 久久亚洲国产午夜精品理论片| 国产国产成年年人免费看片| 野花高清在线观看免费3中文| 无码囯产精品一区二区免费 | 色片在线免费观看| 中文字字幕在线高清免费电影| 亚洲AV无码一区二区三区鸳鸯影院| 亚洲成a人片在线看| 亚洲精品免费在线视频| 亚洲AV日韩AV高潮无码专区| 国产亚洲大尺度无码无码专线| 国产成人精品男人免费| 国内自产少妇自拍区免费| 91九色精品国产免费| 在线观看免费中文视频| 成人片黄网站色大片免费观看APP| 国产精品99爱免费视频| 黄色一级视频免费观看| 噜噜综合亚洲AV中文无码| 亚洲人成色77777在线观看| jlzzjlzz亚洲jzjzjz| 亚洲国产成人精品无码区在线秒播| 亚洲伦理一区二区| 精品国产亚洲一区二区三区| 亚洲免费观看视频| 亚洲乱码中文字幕久久孕妇黑人| 亚洲视频在线精品| 亚洲精品夜夜夜妓女网| 精品亚洲综合在线第一区| 亚洲精品~无码抽插| 久久精品亚洲综合专区| 亚洲天天在线日亚洲洲精| 亚洲高清在线视频| 亚洲白嫩在线观看| 精品国产日韩久久亚洲| 亚洲精品无码久久久久秋霞|