1. JPA简介

JPA

JPA是Java Persistence API的简称,中文名Java持久层API。
ORM:JPA提供了注解和XML两种方式描述对象与表之间关系。
API:提供直接操作实体对象的CURD操作,不需要繁琐的JDBC和SQL。

JPA只是提供了一个标准,制定了一个可以由很多供应商实现的API。所以就出现了以下一些框架:

Hibernate

在JPA的实现上,Hibernate堪称最强!Hibernate 从3.2开始,就开始兼容JPA。值得一提的是Hibernate对JPA的支持来自于org.hibernate.javax.persistence.hibernate-jpa-x.x-api包,当使用Maven管理依赖时,core包会依赖此包,所以直接导入core包就能直接使用JPA相关api。

Spring Data JPA

Spring Data JPA其实底层还是Hibernate,只是在Hibernate的基础上又做了一些代码的简化。

OpenJPA

除了Hibernate之外,还有许多其它对于JPA的实现,例如OpenJPA,但其功能、性能还是稍有落后发展不如hibernate。

总结

JPA只是一套标准,需要使用则需要引入Hibernate相关的依赖,Spring Data JPA,则是在Hibernate的基础上简化了更多的代码。
所以学习路线可以先学习Hibernate JPA之后学习Spring Data JPA。