其他地址: https://www.cnblogs.com/kangkaii/p/8458371.html
其他地址: https://blog.csdn.net/qq_41300350/article/details/89736649
百度百科: https://baike.baidu.com/item/JPA/5660672?fr=aladdin
JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中
JPA的总体思想和现有Hibernate、TopLink、JDO等ORM框架大体一致
一、Spring Data JPA的概述
Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据库的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率!
Spring Data JPA 让我们解脱了DAO层的操作,基本上所有CRUD都可以依赖于它来实现,在实际的工作工程中,推荐使用Spring Data JPA + ORM(如:hibernate)完成操作,这样在切换不同的ORM框架时提供了极大的方便,同时也使数据库层操作更加简单,方便解耦。
Spring Data JPA 与 JPA 和 hibernate之间的关系
** JPA是一套规范,内部是有接口和抽象类组成的。hibernate是一套成熟的ORM框架,而且Hibernate实现了JPA规范,所以也可以称hibernate为JPA的一种实现方式,我们使用JPA的API编程,意味着站在更高的角度上看待问题(面向接口编程)。
Spring Data JPA是Spring提供的一套对JPA操作更加高级的封装,是在JPA规范下的专门用来进行数据持久化的解决方案。(也就是借助spring data jpa提供的API接口更加简便操作)
总结
spring data jpa内部对jpa规范进行全部封装, jpa里真正干活的是hibernate框架, hibernate框架封装了jdbc操作数据库
spring data jpa单独也没有干活,只是把jpa规范代码进行了封装(也是一些接口和抽象类)