Subselect retorna mais de um valor no operador not in [RESOLVIDO]

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

Consegui resolver o problema colocando o NOT IN(SELECT…) entre parenteses, ficando da seguinte forma:

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 [b]([/b]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("')[b])[/b]");

Valeu! que este exemplo possa servir de base para ajudar quem possa ter o mesmo problema.