Spring Data 之 Repository 接口
Posted 思考与践行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Data 之 Repository 接口相关的知识,希望对你有一定的参考价值。
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 之 Repository 接口的主要内容,如果未能解决你的问题,请参考以下文章
七springboot整合Spring-data-jpa之通用DAO接口与添加自定义方法
spring-data-jpa Repository的基本知识
Spring Data Redis - 对 Repository 的 @Transactional 支持