Вопрос проверяет знание HQL (Hibernate Query Language) — объектно-ориентированного языка запросов, используемого в Java для работы с базами данных через Hibernate.
HQL (Hibernate Query Language) — это объектно-ориентированный язык запросов, встроенный в Hibernate ORM для Java. Он похож на SQL, но вместо таблиц и столбцов оперирует классами сущностей и их полями. Это позволяет разработчикам писать запросы, которые не зависят от конкретной базы данных, так как Hibernate автоматически транслирует HQL в SQL, оптимизированный под используемую СУБД.
from User вместо SELECT * FROM users.count(), sum()), строковые, даты и другие.:param) для безопасности и переиспользования.// Создание запроса HQL
String hql = "FROM User u WHERE u.age > :minAge";
Query query = session.createQuery(hql);
query.setParameter("minAge", 18);
List<User> users = query.list();
// Агрегатный запрос
String countHql = "SELECT COUNT(u) FROM User u";
Long count = (Long) session.createQuery(countHql).uniqueResult();HQL используется в проектах на Java, где применяется Hibernate для ORM. Он удобен для сложных запросов, которые требуют гибкости, но при этом хочется сохранить объектную модель. Например, при выборке данных с фильтрацией, сортировкой или пагинацией.
Вывод: HQL — мощный инструмент для работы с базами данных в Java-приложениях, использующих Hibernate. Его стоит применять, когда нужно писать запросы, близкие к объектной модели, и при этом избегать привязки к конкретной СУБД.