JPA與EJB3的關係,

來源:互聯網
上載者:User

JPA與EJB3的關係,

JPA是基於Java持久化的解決方案,主要是為瞭解決ORM架構的差異,它的出現在某種程度上能夠解決目前ORM架構之間不能夠相容的問題,對開發人員來說,能夠更好的在JPA規範下進行系統開發。

 

JPA全稱為Java Persistence API ,Java持久化API是Sun公司在Java EE 5規範中提出的Java持久化介面。JPA吸取了目前Java持久化技術的優點,旨在規範、簡化Java對象的持久化工作。

1.3說明了JPA在系統架構中的作用,使用JPA持久化對象,而不是依賴於某一個ORM架構。

JPA的優勢

 

事實上,JPA並不是一項技術,而是一種標準,因為JPA只是一套介面,本身不能完成任何事情。JPA只是規範了Java持久化的官方標準。JPA有以下幾個優點。

         可持久化Java對象。JPA能夠直接持久化複雜的Java對象,並能夠使用JPQL語言進行複雜的查詢。JPQL是JPA專用的查詢語言,是類似於SQL的物件導向的查詢語言。

         使用簡單。JPA使用注釋(Annotation)定義Java對象與關聯式資料庫之間的映射,而傳統的ORM多使用xml設定檔。JPA使用起來比ORM要方便。使用JPA不用關注底層使用什麼資料庫。

         規範標準化。JPA是JCP組織發布的,是Java官方規定的統一的API。目前已經有多種架構實現JPA標準。使用了JPA的系統可以自由選擇遵循JPA標準的架構,並能夠自由更換。

         事務性、大資料量。JPA底層使用關聯式資料庫進行儲存,因此具備關聯式資料庫的特點,例如事務性、資料完整性、並發訪問、大資料量等。

         與其他持久化技術相比,JPA有很大的技術優勢。表列出了JPA與其他持久化技術的比較。

 

 

 

EJB3與JPA的關係

由於曆史的原因,EJB 3與JPA有著藕斷絲連的關係。EJB 2.X中,EJB有三種類型的Bean,分別是會話Bean(Session Bean)、實體Bean(Entity Bean)和訊息驅動Bean(Message Driven Bean)。

隨著EJB3規範的推出,EJB中的實體Bean(Enity Bean)逐漸被JPA規範所替代,這也是為什麼JPA的規範會包含在EJB3的規範中的原因.

但JPA不僅能夠在EJB環境中使用,也能夠在J2SE的環境中使用,相對於EJB2.X的實體BEAN,使用的範圍更廣.

總之,簡單的說,JPA雖然出自EJB3,但是其使用的範圍卻大於EJB3,不僅可以在JavaEE5中,也可以在JavaSE的環境中,EJB3和JPA的關係.

 

 

目前已經有多個ORM開源架構支援JPA,如Hibernate,TopLink,OpenJPA等等。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.