Sobes.tech
Middle

What is Spring Data Repository?

sobes.tech AI

Answer from AI

An interface that provides high-level abstractions for data access, simplifying the implementation of repositories.

Features:

  • Reducing boilerplate: Automatically generates implementations of common CRUD operations.
  • Method naming conventions: Allows defining custom queries by declaring methods with specific names (e.g., findByLastName(String lastName)).
  • @Query annotation: Enables writing JPQL, SQL, or other queries directly in annotations.
  • Support for various data sources: JPARepository, MongoRepository, CrudRepository, etc.

Example:

// Repository interface
public interface UserRepository extends JpaRepository<User, Long> {
    // Custom method generated by name
    List<User> findByLastName(String lastName);

    // Custom query using annotation
    @Query("SELECT u FROM User u WHERE u.email = ?1")
    User findByEmailAddress(String emailAddress);
}
What is Spring Data Repository? — Java - sobes.tech