Получение ошибки: выражение не является допустимым условным выражением - PullRequest
0 голосов
/ 11 февраля 2019
Query eWFqery = em.createQuery("SELECT eworkfirm FROM EsafWorkFirms eworkfirm WHERE eworkfirm.feiNum = :feiNumber AND eworkfirm.getEsafWork().getWorkId() IN :workIdList");
        eWFqery.setParameter("feiNumber", firmObj.getFeiNum());
        eWFqery.setParameter("workIdList", workIdList);

Пожалуйста, помогите, я получаю следующую ошибку.

Ошибка:

java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: 
Exception Description: Syntax error parsing [SELECT eworkfirm FROM 
EsafWorkFirms eworkfirm WHERE eworkfirm.feiNum = :feiNumber AND 
eworkfirm.getEsafWork().getWorkId() IN :workIdList]. 
[52, 136] The expression is not a valid conditional expression.

1 Ответ

0 голосов
/ 11 февраля 2019

Полагаю, этот синтаксис проблематичен в : getEsafWork().getWorkId() ...

, попробуйте вместо этого (если список содержит идентификаторы):

eworkfirm.esafWork.workId in ...

...и если список содержит "работы", то просто:

eworkfirm.esafWork in ...
...