Boa tarde pessoal.
Eu tenho em minha ManagedBean uma instância de uma lista de nome e emails de Pessoas, as quais irei utililizar essas informações para mandar email’s automaticamete.
private List<Pessoa> listaEmails = new ArrayList<Pessoa>();.
Estou fazendo um consulta no banco que está funcionando normalmente.
Query query = entityManager
.createNativeQuery("SELECT PES.nome, PES.email " +
"FROM pessoa PES " +
"JOIN usuario USU ON (PES.id = USU.pessoa_id) " +
"JOIN dsi DSI ON (USU.id = DSI.usuario_id) " +
"JOIN dsi_assunto DSIA ON (DSI.id = DSIA.dsi_id) " +
"JOIN assunto ASS ON (DSIA.assuntos_id = ASS.id) " +
"WHERE ASS.nome = ?1");
query.setParameter(1, assunto.getNome());
listaEmails = query.getResultList();
O problema é quando chega no meu for each, pois é a hora que ele irá interar na lista e mandar os emails para os usuários.
O erro que dá no log do meu server é o seguinte.
16:26:26,833 ERROR [application] java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.lang.Pessoa
javax.faces.el.EvaluationException: java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.lang.Pessoa
Alguém pode me ajudar a converter um Object já que é o resultado da consulta efetuado na Query em um objeto da classe Pessoa
Já implementei equals() e hashCode() na classe Pessoa e nada adiantou. Fico no aguardo de um feedback de vcs. Obrigado