前言:
SpringDataJpa是SpringData的子框架,在Jpa的基础上进一步进行了封装和扩展,但是依旧满足不了我们的开发需求,因为小编这里列举一下通过自定义Repository对SpringDataJpa的进行扩展,并实现三个功能,如果还需要进行扩展直接添加对应的方法即可。
好了,先放一张图片便于理解吧
通过上图可以知道,只要自定义的仓库类实现了JpaRepository,Spring就会代理这个类,完成所有的功能。
在Spring中默认使用的是SimpleJpaRepository作为自定义仓库的实现类 ,但是现在我们需要告诉Spring不要给我们创建实现类,由我们自己定义实现类,然后我们就可以在自定义的实现类中扩展实现自己的功能了。
扩展步骤实现:
- 1、在仓库包下面自定义一个父仓库类(BaseRepository),继承JpaRepository和JpaSpecificationExecutor
== 注意这里需要添加注解@NoRepositoryBean,目的就是为了告诉Spring,不要给我这个类创建实现类,我们自己定义实现类==
注意父接口的泛型
/**
* 自定义一个Repository,它是JpaRepository的功能基础上继承增强
* 在上面添加@NoRepositoryBean标注,这样Spring Data Jpa在