Preciso recuperar o ID de quem esta logado no sistema, para informar esse valor em uma Query JPQL, porem eu acredito que o metodo que eu estou utilizando não esta funcionando.
Essa seria a Query JPQL que eu quero executar:
String consulta = "select p from PessoaTime p where p.pessoa.id = :pPessoa";
E essa e o paramentro que vai recuperar o ID
query.setParameter("pPessoa", pessoadao.pessoaLogada(pessoa));
Aqui esta o metodo pessoaLogada da PessoaDAO:
public Pessoa pessoaLogada(Pessoa pessoa) {
Pessoa resultado = new Pessoa();
String consulta = "select u from Pessoa u where u.nomeUsuario = :pUsuario";
Query query=getEm().createQuery(consulta);
query.setParameter("pUsuario", pessoa.getNomeUsuario());
try {
resultado = (Pessoa) query.getSingleResult();
} catch (NoResultException ex) {
return null;
}catch (NonUniqueObjectException e) {
return null;
}
return resultado;
}
Lembrando que eu utilizo o Autorizador e PhaseListener do curso de JPA I