У меня следующая проблема с 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 получал пустые и пустые строки, но это не сработало.
Кто-нибудь может объяснить это поведение?