junior
Что такое Spring Data JPA?
Spring Data JPA – часть проекта Spring Data, которая значительно упрощает работу с JPA, устраняя необходимость в шаблонном коде для стандартных операций с базой данных.
Аналогия из жизни: Spring Data JPA – как калькулятор для бухгалтера. Вместо того чтобы вручную складывать столбцы цифр, вы нажимаете кнопки и получаете результат.
Без Spring Data JPA
Пример
@Repository
public class UserRepositoryImpl {
@PersistenceContext
private EntityManager em;
public User findById(Long id) { return em.find(User.class, id); }
public List<User> findAll() {
return em.createQuery("SELECT u FROM User u", User.class).getResultList();
}
// ... ещё save(), delete() и т.д.
}
С Spring Data JPA
Пример
// Всё! Spring Data сгенерирует реализацию автоматически
public interface UserRepository extends JpaRepository<User, Long> {
}
Основные возможности
- Автоматическая реализация репозиториев
- Query methods – генерация запросов по имени метода
- Пагинация и сортировка из коробки
@Queryдля пользовательских запросов (JPQL и native SQL)- Auditing – автоматическое заполнение дат создания/обновления
- Specifications – динамическое построение запросов
На собеседовании: покажите, что понимаете, как Spring Data JPA экономит время (автогенерация реализаций, query methods). Частая ошибка – не знать, что за интерфейсом стоит автоматически сгенерированная реализация.