Встречается на собеседованиях • сегодня

Какой синтаксис можно использовать с аннотацией Query в Spring Data JPA

Аннотация `@Query` позволяет писать кастомные JPQL или нативные SQL запросы. Основные варианты: 1. **JPQL** (по умолчанию): ```java @Query("SELECT u FROM User u WHERE u.email = ?1") User findByEmail(String email); ``` 2. **Нативный SQL** (с `nativeQuery = true`): ```java @Query(value = "SELECT * FROM users WHERE email = ?1", nativeQuery = true) User findByEmailNative(String email); ``` 3. **Именованные параметры** (через `:param`): ```java @Query("SELECT u FROM User u WHERE u.name = :name AND u.age > :age") List findByNameAndAge(@Param("name") String name, @Param("age") int age); ``` 4. **SpEL выражения** (в Spring Data JPA 1.4+): ```java @Query("SELECT u FROM #{#entityName} u WHERE u.active = true") List findAllActive(); ``` 5. **Модифицирующие запросы** (с `@Modifying`): ```java @Modifying @Query("UPDATE User u SET u.status = ?1 WHERE u.id = ?2") void updateUserStatus(String status, Long id); ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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