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

Какие виды запросов можно выполнять с помощью Hibernate

Hibernate поддерживает несколько видов запросов: 1. **HQL (Hibernate Query Language)** – объектно-ориентированный SQL-подобный язык: ```java Query query = session.createQuery("FROM User WHERE age > :age"); query.setParameter("age", 18); List users = query.list(); ``` 2. **Criteria API** – типобезопасный построитель запросов: ```java CriteriaBuilder cb = session.getCriteriaBuilder(); CriteriaQuery cq = cb.createQuery(User.class); Root root = cq.from(User.class); cq.select(root).where(cb.gt(root.get("age"), 18)); List users = session.createQuery(cq).getResultList(); ``` 3. **Native SQL** – прямое использование SQL: ```java SQLQuery query = session.createSQLQuery("SELECT * FROM users WHERE age > ?"); query.addEntity(User.class); query.setParameter(0, 18); List users = query.list(); ``` 4. **Named Queries** – предопределенные запросы в аннотациях или XML: ```java @NamedQuery(name = "User.byAge", query = "FROM User WHERE age > :age") // Использование: Query query = session.getNamedQuery("User.byAge"); ``` 5. **JPA JPQL** – стандартизированный аналог HQL. Также поддерживаются спецификации JPA Criteria API и QueryDSL. Выбор зависит от потребностей в гибкости, производительности и безопасности типов.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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