Spring Data JPA 學習筆記(一)
阿新 • • 發佈:2021-11-10
ORM思想
主要目的
操作實體類就相當於操作資料庫表。
簡單的說:ORM就是建立實體類和資料庫表之間的關係,從而達到操作實體類就相當於操作資料庫表的目的。
實現方法
建立兩個對映關係:
- 實體類和表的對映關係;
- 實體類中屬性和表中欄位的對映關係。
優點
不再重點關注sql語句。
實現ORM的框架
如mybatis,hibernate,等等。
Hibernate框架
Hibernate是一個開源的物件關係對映框架:
- 它對JDBC進行了非常輕量級的物件封裝;
- 它將POJO與資料庫表建立對映關係,是一個全自動的orm框架。
Hibernate是一個開放原始碼的物件關係對映框架,它對JDBC進行了非常輕量級的物件封裝,它將POJO與資料庫表建立對映關係,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫。
JPA規範
定義
jpa規範,實現jpa規範,內部是由介面和抽象類組成。
JPA的全稱是Java Persistence API, 即Java 持久化API,是SUN公司推出的一套基於ORM的規範,內部是由一系列的介面和抽象類構成。
JPA通過JDK 5.0註解描述物件-關係表的對映關係,並將執行期的實體物件持久化到資料庫中。
優勢
- 標準化
JPA 是 JCP 組織釋出的 Java EE 標準之一,因此任何聲稱符合 JPA 標準的框架都遵循同樣的架構,提供相同的訪問API,這保證了基於JPA開發的企業應用能夠經過少量的修改就能夠在不同的JPA框架下執行。- 容器級特性的支援
JPA框架中支援大資料集、事務、併發等容器級事務,這使得 JPA 超越了簡單持久化框架的侷限,在企業應用發揮更大的作用。- 簡單方便
JPA的主要目標之一就是提供更加簡單的程式設計模型:在JPA框架下建立實體和建立Java 類一樣簡單,沒有任何的約束和限制,只需要使用 javax.persistence.Entity進行註釋,JPA的框架和介面也都非常簡單,沒有太多特別的規則和設計模式的要求,開發者可以很容易的掌握。JPA基於非侵入式原則設計,因此可以很容易的和其它框架或者容器整合- 查詢能力
JPA的查詢語言是面向物件而非面向資料庫的,它以面向物件的自然語法構造查詢語句,可以看成是Hibernate HQL的等價物。JPA定義了獨特的JPQL(Java Persistence Query Language),JPQL是EJB QL的一種擴充套件,它是針對實體的一種查詢語言,操作物件是實體,而不是關係資料庫的表,而且能夠支援批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能夠提供的高階查詢特性,甚至還能夠支援子查詢。- 高階特性
JPA 中能夠支援面向物件的高階特性,如類之間的繼承、多型和類之間的複雜關係,這樣的支援能夠讓開發者最大限度的使用面向物件的模型設計企業應用,而不需要自行處理這些特性在關係資料庫的持久化。