Spring Data JPA JPA Spring Data

Spring Data JPA簡介

陳膺傑 2017/12/30 10:30:43
1899

Spring Data JPA簡介


簡介

在以往使用Hibernate存取資料庫時,建立一個Entity至少就要建立一支DAO的interface,以及一支實作的Class,在每支實作的Class中,不斷重複著宣告SessionFactory,不斷在getCurrentSession,建立著各種查詢的語法,即使可以把一些重複且共用的部份再抽到抽象層,但仍需要不斷的實作!現在,藉由簡單的範例,介紹如何透過Spring Data JPA存取資料庫,將大大的簡化這些繁瑣的程式碼,從此就不再需要impl的Class!

作者

陳膺傑


1. 加入Dependency

 本範例使用Spring Boot,僅需額外再加入Data JPA,如下圖所示

2. 啟用JPA Repositories

 Spring Boot 預設會從 @SpringBootApplication同一層目錄及子目錄中,掃出所有Repositories,你也可以透過@EnableJpaRepositories("${repositoriesPath}"),可自行指定Repositories所在路徑。

3. 加入Entity

  如同使用Hibernate一樣,需要宣告Entity,並與Table、Column建立連結

4. 加入Dao,並繼承CrudRepository

 Spring提供CrudRepository,繼承他,就有基本的新增、刪除、查詢等方法可以使用

5. 接下來

在使用Hibernate的時候,接下來,你會需要實作UserDao,
 
但,今天使用的是Spring Data JPA,從此你不再需要實作這些Dao interface! 這正是Spring Data JPA強大的原因,
 
「Spring Data JPA creates an implementation on the fly when you run the application.」,
 
所以你馬上可以使用UserDao來對DB存取User!
此外,Spring Data JPA還有很多厲害的地方,就等各位實作後去發掘了!
陳膺傑