JPQL-запрос - «в», «не равен нулю», а «=» получает нулевые значения - PullRequest
0 голосов
/ 20 февраля 2019

У меня следующая проблема с JPQL.Я использую Oracle 12c.

Запрос

select * from fooTable where id is in (select id from fooTable2 where name = 'name');

возвращает то, что я хочу.Он не содержит записей, где id равен нулю.

В JPQL

"select f from foo where f.id is in (select f2 from fooTable2 where f2.name = :name)"

возвращает значения, где name равно параметру, но также и значения, где f.id равен нулю.Если я добавлю к моему where

"select f from foo where f.id is in (select f2 from fooTable2 where f2.name = :name) and f.id is not null" 

, он все равно будет возвращать нулевые значения.Я также попробовал не ПУСТО, думая, что JPQL к SQL получал пустые и пустые строки, но это не сработало.

Кто-нибудь может объяснить это поведение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...