Spring Data 之 Repository 接口
阿新 • • 發佈:2018-06-10
name executor www aging 識別 TE ger ace posit 2.
1. 介紹
Repository
是一個空接口,即是一個標記性接口;- 若我們定義的接口繼承了Repository,則該接口會被IOC容器識別為一個
Repository Bean
; - 也可以通過
@RepositoryDefinition
註解,來替代繼承Repository
接口;
// 源碼: public interface Repository<T, ID extends Seriallizable>{ } // 使用繼承的方式 public interface PersonRepository extends Repository<Person, Integer>{ Person getByLastName(String lastName); } // 使用註解替代繼承 @RepositoryDefinition(domainClass=Person.class, idClass=Integer.class) public interface PersonRepository{ Person getByLastName(String lastName); }
2. Repository
接口的子接口
CrudRepository
:繼承Repository
,實現了一組CRUD相關的方法;PagingAndSortingRepository
:繼承CrudRepository,實現了一組分頁排序相關的方法;JpaRepository
:繼承PagingAndSotringRepository,實現一組JPA規範相關的方法;自定義的XxxRepository
:可以繼承JpaRepository
;JpaSpecificationExecutor
:不屬於Repository體系,實現一組 JPA Criteria 查詢相關的方法;
參考資料:
- Spring Data
Spring Data 之 Repository 接口