JPA是java为了简化数据持久化代码的一个标准,可以为 Java 社区屏蔽不同持久化 API 的差异。当中的常用实现有Hibernate,当然还有其他厂商(如eclipse的TopLink)
2006 年,JPA 1.0 作为 JSR 220 的⼀部分正式发布
Spring Data是spring为了在保留底层存储特性的同时,提供相对⼀致的、基于 Spring 的编程模型。比如对于mongo、ES、redis等不同的数据库,Spring Data可以将这些数据库的底层进行封装,对开发人员提供相对⼀致的、基于 Spring 的编程模型。极大地提升了开发编码效率。
Spring Data Jpa是spring提供的一套简化JPA开发的框架,按照约定好的【方法命名规则】写dao层接口,就可以在不写接口实现的情况下,实现对数据库的访问和操作。
Spring Data JPA 可以理解为 JPA 规范的再次封装抽象,底层还是使用了 Hibernate 的 JPA 技术实现。