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

С чем сталкивался при работе с нативными запросами

При работе с нативными SQL-запросами в JPA/Hibernate сталкивался с несколькими проблемами:

  1. SQL-инъекции - важно использовать параметризованные запросы или именованные параметры:
java
Query query = em.createNativeQuery("SELECT * FROM users WHERE id = ?1");
query.setParameter(1, userId);
  1. Проблемы с маппингом - результаты нативных запросов не всегда корректно маппятся на сущности. Решение - использовать @SqlResultSetMapping или DTO через конструктор.

  2. Проблемы с переносимостью - нативные запросы могут не работать на разных СУБД из-за специфичного синтаксиса.

  3. Производительность - бездумное использование нативных запросов может привести к N+1 проблемам и другим issues.

  4. Кэширование - нативные запросы по умолчанию не кэшируются, нужно явно настраивать.

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

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

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

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