[RESOLVIDO]Consulta com classe não mapeada utilizando setResultTransformer

2 respostas
C

Estou testando algumas funções do hibernate e empaquei neste tal de ResultTransformer..

tenho uma classe teste com os atributos e seus getters/setters..

quando mando executar ta lançando o seguinte erro

Exception in thread "main" org.hibernate.PropertyNotFoundException: Could not find setter for CABO on class Teste

Segue o codigo com a consulta

Session sessao = HibernateUtil.getSession();
		Transaction t = sessao.beginTransaction();
		
		String aux = "select cb.num cabo from cd_pr_curitiba.cable cb where cb.num = upper('O1B71')";

		
		Query q = sessao.createSQLQuery(aux);
		q.setResultTransformer(Transformers.aliasToBean(Teste.class));
		q.list();
		
		t.commit();
		sessao.close();

e a minha classe Teste

public class Teste {

	private String cabo;
	private String comprimento;
	
	public Teste(){
		
	}

	public String getCabo() {
		return cabo;
	}

	public void setCabo(String cabo) {
		this.cabo = cabo;
	}

	public String getComprimento() {
		return comprimento;
	}

	public void setComprimento(String comprimento) {
		this.comprimento = comprimento;
	}
	
	
}

2 Respostas

lelodois

Isso acontece porque o hibernate está tentando acessar um atributo chamado CABO (em maiúsculo)

Escreva seu sql assim:

sql.append("select cb.num as \"cabo\" from cd_pr_curitiba.cable cb where cb.num = upper('O1B71')");

forçará o atributo ser minúsculo.

abs

C

o/ deu certinho kra … valeu msmo

abrass :smiley:

Criado 25 de agosto de 2011
Ultima resposta 26 de ago. de 2011
Respostas 2
Participantes 2