Назад к вопросам
Газпромбанк
Junior — Middle
59
Какое отличие существует между использованием нативных SQL-запросов и JPQL при работе с базой данных?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Нативные SQL-запросы — это прямые запросы на языке SQL, которые отправляются в базу данных без изменений. Они позволяют использовать все возможности конкретной СУБД, включая специфичные функции и оптимизации. JPQL (Java Persistence Query Language) — это объектно-ориентированный язык запросов, который работает с сущностями Java, а не с таблицами напрямую. JPQL независим от конкретной базы данных и позволяет писать запросы, ориентированные на объекты, что упрощает переносимость и интеграцию с JPA.
Пример:
// JPQL
String jpql = "SELECT u FROM User u WHERE u.age > :age";
// Нативный SQL
String sql = "SELECT * FROM users WHERE age > ?";
Таким образом, JPQL удобен для работы с объектами, а нативный SQL — для сложных или специфичных запросов.