Retornar todos os registros de um SELECT que ñ tenham correspondencia em SUBSELECT [RESOLVIDO]

Bom dia,

Estou com o seguinte problema e peço a gentileza de todos para me ajudar nisto.

Tenho duas classes, uma chamada de Pessoa e a outra chamada de convite. Preciso criar uma consulta que retorne todas as pessoas, menos aquelas que já tenham sido convidadas por mim.

public class Pessoa implements Serializable {
    @Id
    @GeneratedValue(generator = "system-uuid")
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    @Column(name = "id", unique = true, nullable = false, length = 32)
    private String id;
    @Column(nullable = false)
    private String nome;
    @Temporal(javax.persistence.TemporalType.DATE)
    @Column(nullable = false)
    private Date dataDeNascimento;
    @Column(nullable = true)
    private String observacao;
    @OneToMany(mappedBy = "convidante", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    private Set<Convite> convidantes;
    @OneToMany(mappedBy = "convidado", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    private Set<Convite> convidados;
}
public class Convite implements Serializable {
    @EmbeddedId
    private IConvitePK id = new IConvitePK();
    @ManyToOne
    @JoinColumn(name = "convidante", referencedColumnName = "id", nullable = false, insertable=false, updatable=false)
    private AbstractPessoa convidante;
    @ManyToOne
    @JoinColumn(name = "convidado", referencedColumnName = "id", nullable = false, insertable=false, updatable=false)
    private AbstractPessoa convidado;
    @Temporal(javax.persistence.TemporalType.DATE)
    @Column(nullable = false)
    private Date data;
    @Column(nullable = true)
    private String mensagem;
    private String status;

A consulta JPQL que estou tentando fazer é a seguinte:

                List p = pfd.listPesq(""
                        + "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 <> '2c9088af32646b320132646c66a70002'"
                        + " AND c.convidante.id <> '2c9088af32646b320132646c66a70002' ");

Porém esta consulta retorna uma lista vazia.

Toda contribuição é bem vinda. Obrigado.

Veja se isso resolve, imaginei assim, mas pode ser que eu tenha viajado ou tenha algo melhor:

SELECT p FROM Pessoa p 
WHERE p.id NOT IN (SELECT c.convidado.id FROM Convite c WHERE c.convidante.id = :seuIdAqui)

[]'s

Obrigado pela ajuda, resolveu o meu problema.

Sempre que eu puder ajudar também estarei a disposição.