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