- HQL основан на именах полей вашей сущности, не принадлежащих вашему классу, и именах классов
c.id
- c не определено
Я настоятельно предполагаю, что поля в Deal (имя класса в верхнем регистре) не deal_status
, а статус, тогда запрос должен быть таким.(Я пропустил материал c.id, потому что понятия не имею, что вы имеете в виду под этим.)
SELECT d FROM Deal d WHERE d.status='O' or d.status=`A`
Обратите внимание на верхнюю букву D из сделки
И этобудет работать, только если Deal.status является строкой или чем-то в этом роде, но не если это Enum.Один из способов справиться с Enum - это:
Query query = session.createQuery(
"SELECT d FROM Deal d WHERE d.status=:o or d.status=:a");
query.setParameter("a", MyEnum.A);
query.setParameter("o", MyEnum.O);