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)). @Queryannotation: 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);
}