Sobes.tech
Назад к вопросам
Junior — Middle
70

Имели ли вы опыт использования API Criteria в JPA для построения динамических запросов?

Компании, где спрашивали
Surf
Северсталь-ИфокомСеверсталь-Ифоком

Ответ от нейросети

sobes.tech AI

Да, API Criteria в JPA используется для построения динамических и типобезопасных запросов к базе данных. Вместо написания строк JPQL, вы создаёте запрос программно, что позволяет гибко формировать условия в зависимости от логики приложения.

Пример использования Criteria API для выборки пользователей по имени:

CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<User> cq = cb.createQuery(User.class);
Root<User> user = cq.from(User.class);
cq.select(user).where(cb.equal(user.get("name"), "Иван"));
List<User> results = entityManager.createQuery(cq).getResultList();

Такой подход удобен, когда параметры запроса могут меняться во время выполнения, и помогает избежать ошибок в строках запросов.