Встречается на 2% собеседований по Java

Какие знаешь способы написания запросов к БД с помощью Spring Data

  1. Репозитории (Repository)

    • Интерфейсы (CrudRepository, JpaRepository) с готовыми CRUD-методами.
    java
    public interface UserRepository extends JpaRepository<User, Long> {}
  2. Методы по соглашению (Query Methods)

    • Spring Data генерирует запросы из названия метода.
    java
    List<User> findByLastName(String lastName);
  1. JPQL (Java Persistence Query Language)

    • Аннотация @Query с JPQL-запросом.
    java
    @Query("SELECT u FROM User u WHERE u.email = ?1")
    User findByEmail(String email);
  2. Нативные SQL-запросы

    • Использование nativeQuery = true в @Query.
    java
    @Query(value = "SELECT * FROM users WHERE email = ?1", nativeQuery = true)
    User findByEmailNative(String email);
  3. Specification API (для JPA Criteria API)

    • Динамические запросы через Specification<T>.
    java
    Specification<User> hasEmail = (root, query, cb) -> cb.equal(root.get("email"), email);
    userRepo.findAll(hasEmail);
  4. Querydsl

    • Типобезопасные запросы через Q-классы.
    java
    QUser user = QUser.user;
    userRepo.findAll(user.email.eq(email));
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы