1.解释hibernate以前先了解下什么是orm,orm是object relation mapping,即对象关系映射,object能够理解成java实体类Entity,relation是关系型数据库中的二维表,mapping是java对象到数据库表记录的映射;java
2.hibernate是一种强大的ORM框架,着手解决如何实现映射的方案,是一种处理映射关系方法类框架;spring
3.jpa,Java Persistence API,即java 持久化api,是一种官方标准(接口),由于官方没有好的解决方案,而hibernate是第三方的,因此厚颜无耻的在有了具体解决方案后提出一种标准,实际是sun的EJB斗不过spring的结果(想听故事自行百度),jpa的具体解决方案不止hibernate一种,还有TopLink、JDO、open等,能够简单理解成jpa是接口,hibernate是实现类;数据库
4.Spring Data JPA是强大的Spring Data系列的一部分,能够轻松实现基于JPA的存储库,此模块处理对基于JPA的数据访问层的加强支持,它使构建使用数据访问技术的Spring驱动应用程序变得更加容易。简单理解就是spring对jpa的更高层次的抽离,也是一种规范,须要具体实现,如hibernate,不过在此基础上又实现了一些功能,好比能够根据dao接口中的方法名智能实现dao的实现,全部你只须要写dao接口,不须要写实现,不过方法名必须符合规则,具体规则自行百度。api