Как использовать предложение IN при использовании EntityManager с Hibernate - PullRequest
1 голос
/ 15 апреля 2019

Как мне точно написать следующий запрос с помощью entityManager.

Select * from TABLE_NAME where column_name in ('A', 'B');

Я пытался с помощью метода setParametrList(). Однако в нем говорится, что этот метод недоступен для типа Query.

Query query = entityManager.createQuery(
                "Select t from  TableEntity t WHERE t.name =:bd AND t.staus in (:statuses)", TableEntity .class)
                .setParameter("bd", bd)
                .setParameterList("statuses", statuses);

Error: The method setParameterList(String, List<String>) is undefined for the type TypedQuery<TableEntity >

Этот же метод работает нормально при использовании session.createQuery. Любые предложения по этому вопросу.

1 Ответ

1 голос
/ 15 апреля 2019

Просто используйте setParameter("statuses", statuses) со списком. Метод проверяет, является ли параметр коллекцией, и расширяет его.

...