可持久化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與其他持久化技術的比較。
由於非常新,JPA 規範可能還需要進過重要發展才會變得很穩定。
JPA 是一個規範而不是一個產品。需要提供商提供一個實施,才能獲得這些基於標準的 API 的優勢。
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與其他持久化技術的比較。
JPA的劣勢
由於非常新,JPA 規範可能還需要進過重要發展才會變得很穩定。
JPA 是一個規範而不是一個產品。需要提供商提供一個實施,才能獲得這些基於標準的 API 的優勢。