Встречается на собеседованиях • сегодня
Что нужно для написания своего запроса в JPA
Для написания собственного запроса в JPA можно использовать:
1. **JPQL (Java Persistence Query Language)** – объектно-ориентированный аналог SQL.
Пример:
```java
TypedQuery query = em.createQuery(
"SELECT u FROM User u WHERE u.age > :age", User.class
).setParameter("age", 18);
```
2. **Criteria API** – типобезопасный построитель запросов.
Пример:
```java
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery(User.class);
Root user = cq.from(User.class);
cq.select(user).where(cb.gt(user.get("age"), 18));
```
3. **Native SQL** – для сложных SQL-запросов.
Пример:
```java
Query query = em.createNativeQuery("SELECT * FROM users WHERE age > ?", User.class);
query.setParameter(1, 18);
```
4. **Именованные запросы** (`@NamedQuery`) – предопределенные запросы в аннотациях сущностей.
Для всех методов важно учитывать:
- Безопасность (использовать параметризованные запросы).
- Производительность (например, `JOIN FETCH` для ленивой загрузки).
- Поддержку конкретной JPA-реализации (Hibernate, EclipseLink).

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