简述 Hibernate、JPA、Spring Data JPA 的区别?
JPA(Java Persistence API)是规范,它指明了持久化、读取和管理Java对象映射到数据库表时的规范。
Hibernate则是一个ORM框架,它实现了Java对象到数据库表的映射。也就是说,Hibernate提供了JPA的实现。
Spring Data JPA是Spring Framework的一部分。它不是JPA的实现,而是在JPA之上提供更高层次的抽象,可以减少很多模板代码。而Spring Data JPA的默认实现是Hibernate,当然也可以是其他的JPA Provide。