Caros,
Preciso de uma ajuda para fazer um EJBQL para consulta, usando a diretiva NOT IN, para EJB 3.0 / JPA.
Tenho as entidades Clube e Competicao. Clubes participam de Competicoes.
Competicao tem um atributo chamado participantes (List<Clube> participantes), é um relacionamento unidirecional.
Preciso pegar todos os Clubes que não participam de uma determinada Competicao.
Em SQL fica assim:
SELECT A.* FROM CLUBE A WHERE A.ID NOT IN (
SELECT C.ID FROM CLUBE C, PARTICIPANTE_COMPETICAO P
WHERE P.ID_EDICAO_COMPETICAO=? AND P.ID_CLUBE=C.ID)
ORDER BY A.NOME
Em EJBQL eu comecei assim, mas não consegui.
select c from Clube c NOT IN (select ec.participantes from EdicaoCompeticao ec where ec=:ec)
Alguma solução?