Retorno de Objetos, como converte-los?

1 resposta
P

Feras :smiley:

Criei essa query mas ela está retornando um Object e não consigo fazer o cast pra nada pra poder pegar o count e a outra coluna no resultado. Na minha Entitity, eu não mapiei nada para o count(*) pq não sei se tem necessida.

public Collection<RequerimentoTO> buscarQtdeStatusReq(){
		List<Object> temp = null;
		Collection<RequerimentoTO> resultado = new ArrayList<RequerimentoTO>(); 
		StringBuilder sb = new StringBuilder();
		sb.append("select rq_req_status,  count(*) from req ");
		sb.append("where rq_no_of_sons = 0 ");
		sb.append("start with rq_father_id = 5 ");
		sb.append("connect by prior rq_req_id = rq_father_id ");
		sb.append("group by rq_req_status");
		Query query = getEntityManager().createNativeQuery(sb.toString());
		temp = query.getResultList();
		String[] retorno = new String[15];
		for(int i=0; i<temp.size(); i++){
			Object obj = temp.get(i);
			obj.toString();
			String[] xx = (String[])obj;
			RequerimentoTO requerimentoTO = new RequerimentoTO();
			
			//requerimentoTO.setCount(()
		}
		return resultado;
	}

Algém pode dar uma força?

Valeu

1 Resposta

eltonads

Tem alguns errinhos no seu codigo.

A linha 15 não faz nada, pois o metodo toString() RETORNA uma String, e não converte a referencia obj para uma referencia String.
E como o count retorna um inteiro, provavelmente, vai dá pau no cast da linha 16.
Tente substituir a linha 15 e 16 por:

String count = obj.toString();

Isso no caso de você precisar do count como String… senão use um cast para Integer ou BigDecimal ou algo assim…

Espero ter ajudado.

Criado 15 de maio de 2009
Ultima resposta 15 de mai. de 2009
Respostas 1
Participantes 2