Вопрос

Я хочу знать, могу ли я присоединиться к 2 именованным запросам в JPA. В качестве примера у меня есть два следующих именованных запроса

1 - Получить все активные пользователи
2 - Получить все пользователи для данной компании

Может ли я присоединиться над двумя названными запросами и получить все активные пользователи для данной компании.

Это было полезно?

Решение

Не используйте NamedQuery для этого. Непосредственно пропускание строки запроса к методу - ваша лучшая ставка.

Вы должны понимать, что метод createNamedQuery(String name) берет имя именованного запроса. Тогда как, createNamedQuery(String qlString)принимает строку запроса, так что это соответствует вашим потребностям.

Или

Создать отдельный NamedQuery Для этой цели.

Другие советы

Может ли я присоединиться над двумя названными запросами и Получите все активные пользователи для данной компании.

Нет, это невозможно. Либо написать смарт-названный запрос, который может принимать параметры для выражения всех случаев (если это возможно) или используйте несколько названных запросов.

И если вы используете JPA 2.0, критерии API может быть еще одним (лучшим) вариантом для записи динамических запросов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top