Встречается на 2% собеседований по Java
Какие знаешь способы написания запросов к БД с помощью Spring Data
-
Репозитории (Repository)
- Интерфейсы (
CrudRepository,JpaRepository) с готовыми CRUD-методами.
javapublic interface UserRepository extends JpaRepository<User, Long> {} - Интерфейсы (
-
Методы по соглашению (Query Methods)
- Spring Data генерирует запросы из названия метода.
javaList<User> findByLastName(String lastName);
-
JPQL (Java Persistence Query Language)
- Аннотация
@Queryс JPQL-запросом.
java@Query("SELECT u FROM User u WHERE u.email = ?1") User findByEmail(String email); - Аннотация
-
Нативные SQL-запросы
- Использование
nativeQuery = trueв@Query.
java@Query(value = "SELECT * FROM users WHERE email = ?1", nativeQuery = true) User findByEmailNative(String email); - Использование
-
Specification API (для JPA Criteria API)
- Динамические запросы через
Specification<T>.
javaSpecification<User> hasEmail = (root, query, cb) -> cb.equal(root.get("email"), email); userRepo.findAll(hasEmail); - Динамические запросы через
-
Querydsl
- Типобезопасные запросы через Q-классы.
javaQUser user = QUser.user; userRepo.findAll(user.email.eq(email));

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы