1. 程式人生 > 實用技巧 >Spring Data JPA簡介 Spring Data JPA特點

Spring Data JPA簡介 Spring Data JPA特點

Spring Data JPA 是Spring基於ORM框架、JPA規範的基礎上封裝的一套JPA 應用框架,底層使用了Hibernate 的JPA技術實現,可使開發者用極簡的程式碼即可實現對資料的訪問和操作。

它提供了包括增刪改查等在內的常用功能介面,且易於擴充套件!學習並使用Spring Data JPA可以極大提高開發效率!

由於微服務系統的廣泛應用,服務粒度逐漸細化,多表關聯查詢的場景一定程度減少。單表查詢和單表的資料操作正是JPA的優勢。

   1,標準化JPA是JCP組織釋出的Java EE標準之一,因此任何聲稱符合JPA標準的框架都遵循同樣的架構,提供相同的訪問API,這保證了基於JPA開發的企業應用能夠經過少量的修改就能夠在不同的JPA框架下執行。

   2,容器級特性的支援JPA框架中支援大資料集、事務、併發等容器級事務,這使得 JPA 超越了簡單持久化框架的侷限,在企業應用發揮更大的作用。

    3,簡單方便JPA的主要目標之一就是提供更加簡單的程式設計模型:在JPA框架下建立實體和建立Java類一樣簡單,沒有任何的約束和限制,只需要使用javax.persistence.Entity進行註釋,JPA的框架和介面也都非常簡單,沒有太多特別的規則和設計模式的要求,開發者可以很容易地掌握。JPA基於非侵入式原則設計,因此可以很容易地和其它框架或者容器整合。

  4,查詢能力 JPA的查詢語言是面向物件而非面向資料庫的,它以面向物件的自然語法構造查詢語句,可以看成是Hibernate HQL的等價物。JPA定義了獨特的JPQL(Java Persistence Query Language),JPQL是EJB QL的一種擴充套件,它是針對實體的一種查詢語言,操作物件是實體,而不是關係資料庫的表,而且能夠支援批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能夠提供的高階查詢特性,甚至還能夠支援子查詢。
  5,高階特性 JPA 中能夠支援面向物件的高階特性,如類之間的繼承、多型和類之間的複雜關係,這樣的支援能夠讓開發者最大限度的使用面向物件的模型設計企業應用,而不需要自行處理這些特性在關係資料庫的持久化。