2010-10-20 4 views
1

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

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

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

ответ

1

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

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

Или

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

+0

Почему плакат хочет использовать HQL? Он говорит JPA, а не Hibernate. – DataNucleus

+0

@DataNucleus: О да. Thats «default» в моих настройках по умолчанию. Извините, изменено сейчас. –

+0

спасибо Adeel, я проверю это – sameera207

1

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

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

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

Смежные вопросы