sarvesh sarvesh - 2 months ago 14x
Java Question

What is the difference between Hibernate and Spring Data JPA

What are the main differences between Hibernate and Spring data Jpa. In what situations we should not use Hibernate or Spring Data JPA. Also When Spring JDBC template may be more performing over hibernate / spring data jpa


Hibernate is a JPA implementation, while Spring Data JPA is a JPA Data Access Abstraction. Spring Data offers a solution to GenericDao custom implementations. It can also generate JPA queries on your behalf though method name conventions.

With Spring Data, you may use Hibernate, Eclipse Link or any other JPA provider.

Spring JDBC is much more light-weight and it's intended for native querying, and if you only intend to use JDBC alone, then you are better off using Spring JDBC and overcome JDBC verbosity.

So Hibernate and Spring Data are complementary rather than competitors.