1. 程式人生 > >(二) JPA基礎

(二) JPA基礎

執行 top span 語言 batis 官方 解決 伸縮性 jdb

一、什麽是JAP

  • JPA(Java Persistence API)是SUN官方推出的Java持久化規範,它為Java開發人員提供了一種對象/關聯映射工具來管理Java應用中的關系數據。它的出現主要是為了簡化現有的持久化開發工作和整合ORM技術,結束現在Hibernate,TopLink,JDO等ORM框架各自為營的局面。值得註意的是,JPA是在充分吸收了現有Hibernate,TopLink,JDO 等ORM框架的基礎上發展而來的,具有易於使用,伸縮性強等優點。從開發社區的反映上看,JPA手動極大的支持和贊揚,其中就包括了Spring與EJB3.0的開發團隊,著眼未來幾年的技術走向,JPA作為ORM領域的標準化者的目標應該不難實現。

  • JPA不是一種新的ORM框架,他的出現只是用於規範現有的ORM技術,他不能取代現有的hibernate,TopLink等ORM框架。相反,在采用JPA開發時,我們仍將用到這些ORM框架,只是此時出來的應用不再依賴與某個持久化供應商。應用可以在不修改代碼的情況下在任何JPA環境下運行,真正做到低耦合,可擴展的程序設計。 簡單說,JPA幹的就是Hibernate幹的活,他們的作用是一樣的。但是,JPA只是一套規範,不是一套產品,Hibernate已經是一套產品了。 JPA主要是為了簡化現有的持久化開發工作和整合ORM技術,結束現在Hibernate,Toplink,JDO等ORM框架各自為營的局面。之前學的Hibernate,實際上我們面對的是Hibernate的API進行開發,這有什麽不好哪,是我們跟Hibernate這個產品緊密的耦合在了一起,如果離開了Hibernate我們是無法在別的ORM框架中使用我們的應用。使用JPA後,你的應用就可以運行在實現了JPA規範的持久化產品中(如Hibernate,TopLink,JDO)

二、JAP能做什麽?

  • ORM映射元數據

JPA支持XMLJDK5.0註釋兩種元數據形式,元數據描述對象和表之間的映射關系,框架據此將實體對象持久化到數據庫表中。

  • Java持久化API

用來操作實體對象執行CRUD操作,框架在後臺替我們完成所有的事情,開發者可以從繁瑣的JDBC和SQL代碼中解脫出來。

  • 查詢語言(JPQL)

這是持久化操作中很重要的一個方面,通過面向對象而非面向數據庫的查詢語言查詢數據,避免程序的SQL語句緊密耦合。

三、 ORM和JPA

  • ORM是一種設計思想,這個思想用於解決面向對象的對象模型和關系型數據庫的數據結構之間的相互轉換,Hibernate、myBatis、EJB3.0、Apache OJB等框架都是ORM思想的實現者,由於框架種類過多,當開發者需要將應用從一個框架轉移到另一個框架時,就需要修改大量的代碼,這時JPA就應運而生了,JPA是一種標準,它的出現是為了簡化和整合ORM,結束了各大框架各自為營的局面,因為各大框架實現了JPA這個標準。

(二) JPA基礎