[RESOLVIDO] Erro ao adicionar restrição com Hibernate

3 respostas
Diego_Adriano

Bom galera, tenho uma consulta onde retorno os Visitantes cadastrados, bem . quando crio a Query da seguinte forma funciona normalmente:

Porém, preciso refinar essa busca e me retornar somente determinados dados: ID, NOME, SOBRENOME, CPF:

Porém o Hibernate faz a consulta:

INFO: Hibernate: /* Select v.id, v.nome, v.sobrenome, v.cpf from Visitante as v */ select visitante0_.id as col_0_0_, visitante0_.nome as col_1_0_, visitante0_.sobrenome as col_2_0_, visitante0_.cpf as col_3_0_ from Visitante visitante0_

Ai vem o Erro:

AVISO: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception java.lang.NumberFormatException: For input string: "id"

Qual seria o motivo desse erro ?

3 Respostas

pmlm

Cria um construtor na classe Visitante que recebe esses 4 parametros.

A

cara,

crie um construtor na sua classe correspondente aos atributos que vc quer e depois faz o seguinte

Query query = this.entityManager.createQuery("select new br.com....Visitante(v.id,v.nome,v.sobrenome, v.cpf) from Visitante as v");

PS: a Classe deve ter o caminho totalmente qualificado

espero que te ajude.

t+

Diego_Adriano

Bem, consegui resolver da forma que vcs me passaram ..

Construtor
public Visitante(Long id, String nome, String sobrenome, String cpf) {
		this.id = id;
		this.nome = nome;
		this.sobrenome = sobrenome;
		this.cpf = cpf;
	}
Select:
public List<Visitante> visitantes(){
		
		Query query = this.entityManager.createQuery("Select new modelo.Visitante(v.id, v.nome, v.sobrenome, v.cpf) from Visitante as v");
		return query.getResultList();
	}
Criado 20 de setembro de 2011
Ultima resposta 22 de set. de 2011
Respostas 3
Participantes 3