SpringBoot2.x使用Data-JPA系列五
Jpa 自定义Repository
主要遵循Jpa的规范,接口命名为 StudentRepositoryCustom,实现类命名为StudentRepositoryImpl。目前觉得意义不大,暂时不详细研究这一部分。
创建自己的BaseRepository
对于网上很多的文章来说,都要经过下面的几步
-
创建BaseRepository接口 继承 JpaRepository
-
创建 实现类,继承SimpleJpaRepository 并实现BaseRepository
-
创建工厂,用来注入自己的实现类
-
修改springboot的启动方法,或者修改配置文件,调用自己创建的工厂。
@NoRepositoryBean public interface BaseRepository<T,ID extends Serializable> extends JpaRepository<T,ID> { }
需要注意的是@NoRepositoryBean,这个表示该接口不会创建这个接口的实例(我们原来定义的StudentPageRepository这些,Spring Data JPA的基础组件都会自动为我们创建一个实例对象,加上这个annotation,spring data jpa的基础组件就不会再为我们创建它的实例)。
但是,我目前个人感觉来说,不需要这么多步骤,我们只要实现第一步,再定义一些方法,基本可以由spring-data-jpa来实现就好了,再写一个基础的Service来实现一些通用的方法。
希望多多沟通和交流