Skip to content

Spring Data JPA Repository Pattern (MVC)

Example

java
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface UserRepository extends JpaRepository<User, Long> {
    // Custom query methods
    Optional<User> findByEmail(String email);
}

Guidelines

  • Extend JpaRepository<Entity, ID> for standard CRUD and pagination.
  • Use method naming conventions for custom queries (e.g., findBy...).
  • Use @Query for custom JPQL/SQL if needed.
  • Return Optional<T> for single results, List<T> for collections.
  • Avoid business logic in repositories; keep them focused on data access.
  • Annotate with @Repository (optional with Spring Boot, but recommended for clarity).

References

Copyright © MSG Systems Romania AI Labs