springhibernatejpaspring-data-jpaspring-orm

Spring + hibernate versus Spring Data JPA: Are they different?


Although not novice, I am trying to learn spring framework (again!) in order to be sure that I really understand this. I have got fair idea on core Spring (DI). Now, I am focusing on Data layer.

I have come across the term "Spring and Hibernate". As I can interpret it would mean using Spring Framework with Hibernate as ORM tool/JPA provider.

Now I have come across "Spring Data JPA". I clarified on SO about Spring Data JPA, that it is an abstraction layer on-top of JPA (and under the hood Spring Data JPA uses Hibernate or any other JPA provider).

Now are these terms same? That is, is "Spring + hibernate" same as that of "Spring Data JPA". If not, then what is the difference / similarities?

I am really confused on so many terms/statements (like above) seemingly to be similar, but may be different.


Solution

  • Spring-data-jpa, as you're saying, offers more that just the classical Spring-JPA integration. With JPA/Hibernate integration, you get mainly

    With Spring-data-jpa, you get all that, plus (among other things)

    This is just a tiny introduction. For more help, read the documentation.