Встречается на собеседованиях • сегодня
В чем разница между нативным и JPQL запросом
Нативные запросы пишутся на SQL диалекте конкретной СУБД и напрямую выполняются в БД. JPQL - это объектно-ориентированный язык запросов JPA, который работает с сущностями, а не таблицами.
Ключевые различия:
- Нативные запросы привязаны к БД, JPQL переносим между СУБД
- JPQL оперирует классами и полями, нативные - таблицами и колонками
- Нативные запросы могут использовать специфичные функции СУБД
Пример JPQL:
java
Query query = em.createQuery(
"SELECT u FROM User u WHERE u.age > :age");
query.setParameter("age", 18);Пример нативного запроса:
java
Query query = em.createNativeQuery(
"SELECT * FROM users WHERE age > ?", User.class);
query.setParameter(1, 18);JPQL автоматически преобразуется в SQL, учитывая маппинг сущностей. Нативные запросы требуют ручного соответствия между результатом и сущностями.

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