# Intro ###### tags: `JPA` `Spring` `Java` **Java Persistence API** : 用於物件持久化的API Java EE 5.0 平台標準的ORM規範 使得應用程序以統一的方式訪問調用數據層 **JPA是一個ORM的規範** **Hibernate、OpenJPA、TopLink都是JPA的一種實現** 優勢 1. 標準化 : 提供相同API,這保證了基於JPA開發的應用能夠透過少量修改就能在不同的JPA框架下執行。 2. 簡單易用、集成方便 : 提供簡單的編程模型。 3. 可媲美JDBC的查詢能力 : JPA的查詢語言是物件導向的,定義了獨特的JPQL且支持批量更新修改、JOIN、GROUP BY、HAVING等高級查詢語言。 4. 支援物件導性的高級特性 : 支援物件導向的繼承、多形、類別間的複雜關係。 JPA的三方面技術 1. ORM : 支援XML和JDK 5.0 註釋兩種方式來描述物件與表的對應關係 2. JPA的API 用來操作實體對象,執行CRUD操作 3. JPQL 透過物件導向的方式操作資料庫查詢數據,避免程序與SQL緊密耦合