Встречается на собеседованиях • сегодня
Какие механизмы использовал для создания запроса в Hibernate
Hibernate предоставляет несколько механизмов для создания запросов:
1. **HQL (Hibernate Query Language)** – объектно-ориентированный SQL-подобный язык:
```java
Query query = session.createQuery("FROM Book WHERE author = :author", Book.class);
query.setParameter("author", "Tolkien");
List books = query.getResultList();
```
2. **Criteria API** – типобезопасный построитель запросов:
```java
CriteriaBuilder cb = session.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery(Book.class);
Root root = cq.from(Book.class);
cq.select(root).where(cb.equal(root.get("author"), "Tolkien"));
List books = session.createQuery(cq).getResultList();
```
3. **Native SQL** – для сложных запросов или специфичных СУБД:
```java
SQLQuery query = session.createSQLQuery("SELECT * FROM books WHERE author = ?");
query.setParameter(1, "Tolkien");
query.addEntity(Book.class);
List books = query.list();
```
4. **JPA JPQL** – стандартизированный аналог HQL.
Выбор зависит от сложности запроса, производительности и предпочтений в типизации.

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