Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro de class cast exception no UsuarioDao.buscaPeloLogin

Caros, alguem sabe o que pode estar ocorrendo, o mesmo código estava sendo executado no jBoss porém migrei o .war para rodar no Glassfish 4. Fiz diversas alterações na persistence.xml para carregar o JTA correto do glassfish. Porém ao tentar logar o erro abaixo acontece: Caused by: java.lang.ClassCastException: br.com.caelum.livraria.modelo.Usuario cannot be cast to br.com.caelum.livraria.modelo.Usuario at br.com.caelum.livraria.dao.UsuarioDao.buscaPeloLogin(UsuarioDao.java:17) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

Segue trecho de meu código:

@Stateless
public class UsuarioDao {

@PersistenceContext private EntityManager manager;

public Usuario buscaPeloLogin(String login) { return this.manager.createQuery("select u from Usuario u where u.login=:pLogin",Usuario.class) .setParameter("pLogin", login).getSingleResult(); }

}

1 resposta
solução!

Achei o problema para quem interessar:

Existe um bug na versão 4.3.6 do Hibernate inclusive até a versão 4.3.8 onde este erro ocorre, parece que ele carrega 2 versões do objeto e então não consegue fazer o cast corretamente.

Encontrei pela web diversas sugestões mas a que deu certo foi usar o Hibernate 4.3.5.

Espero que dê certo para vocês.