Я использую JPA (EclipseLink) в своем проекте.
У меня есть объект с именем CelulaArmazem
, который имеет produto
и cliente
, которые могут быть нулевыми или нет.
Следующий jpql является примером того, что я пытаюсь сделать. Я хочу получить CelulaArmazem
, которые имеют max(dataInclusao)
для пары produto
и cliente
.
Этот запрос возвращает данные только в том случае, если cliente
не равно нулю, но мне нужны данные, когда cliente
равно нулю два.
select c from CelulaArmazem c
where
c.armazem.id = :idArmazem
c.dataInclusao = (
select distinct max(c2.dataInclusao) from CelulaArmazem c2
where
c2.armazem.id = c.armazem.id and
c2.produto.id = c.produto.id and
((c.cliente is null and c2.cliente is null) or
(c.cliente.id = c2.cliente.id)) )
Ошибка при попытке доступа к cliente.id
нулевого объекта.
Как мне избежать этой проблемы?