1. Repository:最顶层的接口,一个空的接口,统一所有的Repository类型,并且能够让组件扫描的时候能够自动识别
2. CrudRepository: Repository的子接口,提供CRUD的操作
3. PagingAndSortingRepository: CrudRepository的子接口,添加了分页和排序的功能
4. JpaRepository: 是PagingAndSortingRepository的子接口,增加一些实用的功能,比如批量操作
5. JpaSpecificationExecutor:来定义复杂查询