由于目前有很多java持久层的框架,比如Hibernate、TopLink、OpeanJPA等等,选择多了,问题也就来了,导致java程序员不得不学习多种持久层框架。JPA的出现,使程序员从持久层框架的学习中解脱出来,对于实现了JPA规范的持久层框架,他们只要按照JPA的规范开发持久层代码,而不用关心究竟是哪种框架实现的;
Spring Data JPA有什么
主要来看看Spring Data JPA提供的接口,也是Spring Data JPA的核心概念:
1:Repository:最顶层的接口,是一个空的接口,目的是为了统一所有Repository的类型,且能让组件扫描的时候自动识别。
2:CrudRepository :是Repository的子接口,提供CRUD的功能
3:PagingAndSortingRepository:是CrudRepository的子接口,添加分页和排序的功能
4:JpaRepository:是PagingAndSortingRepository的子接口,增加了一些实用的功能,比如:批量操作等。
5:JpaSpecificationExecutor:用来做负责查询的接口
6:Specification:是Spring Data JPA提供的一个查询规范,要做复杂的查询,只需围绕这个规范来设置查询条件即可