Boa tarde,
Tenho uma query JPQL que envolve a consulta resultante de uma tabela que não exista em um outra tabela. Para isto estou utilizando o operador not in.
A consulta é a seguinte:
queryBase = new StringBuilder(""
+ "SELECT a FROM PessoaFisica a "
+ "LEFT JOIN FETCH a.websites w "
+ "LEFT JOIN FETCH a.emails e "
+ "LEFT JOIN FETCH a.imagens i "
+ "LEFT JOIN FETCH a.enderecos n "
+ "LEFT JOIN FETCH a.telefones l "
+ "LEFT JOIN FETCH a.convidados c "
+ "LEFT JOIN FETCH a.convidantes d "
+ " WHERE a.id <> '").append(pessoa.getId()).append("'"
+ " AND a.id not in(SELECT v.convidado.id FROM Convite v WHERE v.status IN('G', 'A') AND v.convidante.id = '").append(pessoa.getId()).append("')");
porém o subselect retorna mais de um valor, e devido a isto está resultando no seguinte erro:
Caused by: javax.persistence.NonUniqueResultException: result returns more than one elements