Spring Data JPA Spring Data和Spring Data JPA的概述

  • Spring Data是爲了簡化構建基於Spring框架應用的數據庫訪問技術的一個項目,支持關係數據庫、非關係型數據庫、Map-Reduce框架和雲數據服務等。Spring Data包含多個子項目,如下:
    在這裏插入圖片描述
  • Spring Data爲我們使用統一的API來對數據訪問層進行操作,這主要是Spring Data Common項目來實現。Spring Data Commons讓我們在使用關係型或非關係型數據訪問技術時都基於Spring提供的統一標準,標準包含CRUD、查詢、排序和分頁的相關操作。這些操作統一由Repository相關的接口來定義:
  1. 基本接口Repository
  2. 基於樂觀鎖機制操作的接口:RevisionRepository
  3. 基於CURD操作的接口:CrudRepository
  4. 基於CRUD、分頁和排序操作的接口:PagingAndSortingRepository
  • Spring Data 與 Spring Data JPA的關係:
    在這裏插入圖片描述

  • Spring Data JPA實現了Spring Data定義的相關接口,所以應用程序只需調用這些接口就能使用Spring Data子項目(Spring Data JPA和其他項目)實現的功能。估計底層設計多態的運用是其核心。

  • JPA是Java Persistence API的縮寫,它是由Java EE所定義的一個規範;該規範被一些框架所實現了,例如Hibernate。

  • 說起這些操作數據庫的框架,ORM(Object Relation Mapping)的概念不得不說。

  1. ORM出現的背景:Applications need to save data to persistent storage. Persistent storage can be database, directory service, or other. For O-O programming, we’d like to save and retrieve objects to/from storage. Therefore, the concept of ORM is generated.
  2. 數據庫的設計與程序的面向對象設計有着本質上的相似,爲了使操作數據庫也面向對象(使用過JDBC操作數據,就能發現一旦業務需求過多,SQL代碼也會相應的多了、複雜了起來,並且代碼管理也顯得非常冗餘。)一些數據庫操作框架被髮明瞭。這些框架相當於應用和數據庫之間的中間層,中間層能屏蔽數據庫操作的複雜性;如果業務需求繁多,中間層的使用也能提高代碼的複用性和易管理性。
  3. 中間層的設計並不簡單,其中涉及到比較多的設計層面的問題,有興趣的小夥伴可以查閱資料去了解。這裏講到的JPA就是Java語言對於ORM中間層的規範。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章