Запрос в порядке - похоже на проблему IDEA Code Inspector.
Я не могу найти никаких ошибок, зарегистрированных против него как такового.
Возможно, вы захотите обратиться в службу поддержки, если у вас есть платная версия.
Я обнаружил небольшую проблему в спецификации EJB 2.1 (и во всех остальных случаях), где говорится, что для NULL нужно использовать верхний регистр.
11.2.6.10 Нулевые выражения сравнения
Синтаксис использования оператора сравнения IS NULL в условном выражении выглядит следующим образом:
{single_valued_path_expression | input_parameter} IS [NOT] NULL
Нулевое выражение сравнения проверяет, является ли однозначное выражение пути или входной параметр значением NULL.
SELECT distinct OBJECT(rd) FROM RequestDetail rd, DetailResponse dr
WHERE dr.updateReqResponseParentID IS NOT NULL
and dr.updateReqResponseParentID = ?1
and rd.requestDetailID = dr.requestDetailID
and rd.deleted IS NULL and dr.deleted IS NULL
Вот раздел из спецификации EJB 2.1, который соответствует вашим запросам ...
11.2.5.3 Объявления переменных диапазона
Синтаксис EJB QL для объявления идентификационной переменной в качестве переменной диапазона аналогичен синтаксису SQL; необязательно, он использует ключевое слово AS.
range_variable_declaration :: = abstract_schema_name [AS] identifier Объекты или значения, которые относятся к бину сущности, обычно получают навигацией с использованием выражений пути. Однако навигация не достигает всех объектов. Объявления переменных диапазона позволяют Бину
Поставщик назначает «корень» для объектов, которые могут быть недоступны при навигации.
Если поставщик бина хочет выбрать значения, сравнивая более одного экземпляра типа абстрактной схемы бина сущности, в предложении FROM требуется более одной идентификационной переменной, варьирующейся по типу абстрактной схемы.
Следующий запрос метода поиска возвращает заказы, количество которых превышает количество заказов для Джона Смита. Этот пример иллюстрирует использование двух разных переменных идентификации в предложении FROM, оба типа абстрактной схемы Order. Предложение SELECT этого запроса определяет, что возвращаются заказы с количествами, большими, чем у Джона Смита.
SELECT DISTINCT OBJECT(o1)
FROM Order o1, Order o2
WHERE o1.quantity > o2.quantity AND
o2.customer.lastname = ‘Smith’ AND
o2.customer.firstname= ‘John’