Skip to main content

Spring Data JPA Overview

Spring Data JPA gives you repository abstractions on top of JPA/Hibernate so you can build data access layers with far less boilerplate.

What It Solvesโ€‹

  • Removes repetitive CRUD DAO code.
  • Supports query derivation from method names.
  • Adds first-class pagination and sorting.
  • Integrates with transactions, auditing, and Spring Boot auto-configuration.

Mental Modelโ€‹

  1. Define entity classes.
  2. Create repository interfaces.
  3. Use derived/custom queries where needed.
  4. Tune Hibernate behavior for performance and transaction safety.

Repository Hierarchy (Quick View)โ€‹

Repository
-> CrudRepository
-> PagingAndSortingRepository
-> JpaRepository

In most projects, JpaRepository is the default choice.

Split Guidesโ€‹

When to Use Whichโ€‹

  • Use Spring Data JPA abstractions for most application CRUD/query work.
  • Use Hibernate-focused techniques when diagnosing performance, transaction, or concurrency behavior.

Compare Nextโ€‹