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

Как вынести запросы JPA в конфигурационный файл, сохранив репозиторий

В Spring Data JPA можно вынести запросы в XML-файлы или использовать аннотацию @Query. Для XML-подхода:

  1. Создайте файл META-INF/jpa-named-queries.xml:
xml
<named-query name="User.findByEmail">
    <query>SELECT u FROM User u WHERE u.email = ?1</query>
</named-query>
  1. В репозитории укажите имя запроса:
java
public interface UserRepository extends JpaRepository<User, Long> {
    @Query(name = "User.findByEmail")
    User findByEmail(String email);
}

Альтернативно можно использовать аннотацию @Query прямо в интерфейсе:

java
@Query("SELECT u FROM User u WHERE u.email = :email")
User findByEmail(@Param("email") String email);

XML-подход удобен для сложных запросов, позволяя изменять их без перекомпиляции кода. Аннотации же более читаемы и удобны для простых запросов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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