來源:oschina
https://my.oschina.net/u/3080373/blog/1828589

什么是JPA?
全稱Java Persistence API,可以通過注解或者XML描述【物件-關系表】之間的映射關系,并將物體物件持久化到資料庫中,
為我們提供了:
1)ORM映射元資料:JPA支持XML和注解兩種元資料的形式,元資料描述物件和表之間的映射關系,框架據此將物體物件持久化到資料庫表中;
如:@Entity、@Table、@Column、@Transient等注解,
2)JPA 的API:用來操作物體物件,執行CRUD操作,框架在后臺替我們完成所有的事情,開發者從繁瑣的JDBC和SQL代碼中解脫出來,
如:entityManager.merge(T t);
3)JPQL查詢語言:通過面向物件而非面向資料庫的查詢語言查詢資料,避免程式的SQL陳述句緊密耦合,
如:from Student s where s.name = ?
但是:
JPA僅僅是一種規范,也就是說JPA僅僅定義了一些介面,而介面是需要實作才能作業的,所以底層需要某種實作,而Hibernate就是實作了JPA介面的ORM框架,
也就是說:
JPA是一套ORM規范,Hibernate實作了JPA規范!如圖:

什么是 Spring Data JPA?
spring data jpa是spring提供的一套簡化JPA開發的框架,按照約定好的【方法命名規則】寫dao層介面,就可以在不寫介面實作的情況下,實作對資料庫的訪問和操作,同時提供了很多除了CRUD之外的功能,如分頁、排序、復雜查詢等等,
Spring Data JPA 可以理解為 JPA 規范的再次封裝抽象,底層還是使用了 Hibernate 的 JPA 技術實作,如圖:

介面約定命名規則:

實體:


springboot集成spring data jpa只需兩步:
第一步:匯入maven坐標

第二步:yml組態檔中配置jpa資訊

推薦去我的博客閱讀更多:
1.Java JVM、集合、多執行緒、新特性系列教程
2.Spring MVC、Spring Boot、Spring Cloud 系列教程
3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程
4.Java、后端、架構、阿里巴巴等大廠最新面試題
覺得不錯,別忘了點贊+轉發哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/181807.html
標籤:Java
下一篇:第六章第三十六題(幾何:正多邊形的面積)(Geometry: area of a regular polygon) - 編程練習題答案
