[RESOLVIDO]Erro em execução na Collection do DAOhibernate

Olá Pessoal,

Estou com o seguinte problema e por favor me corrijam se eu estiver erraod :slight_smile:

Estou hibernate e em meu DAO preciso que faça um select distinct usando o seguinte código:

[code]
public Collection getLotacaoDistinct(ITransaction transaction) throws PortalException
{

	Session session = getSession(transaction);
	
	StringBuilder queryString = new StringBuilder();
	queryString.append("select DISTINCT lotacao  FROM QuemeQuem");
	
	Query query = session.createQuery(queryString.toString());
	

	return (Collection<QuemeQuem>)  query.list();
	
	
}[/code]

e na minha class cliente preciso fazer um while na collection retornanda mas ocorre um erro em execução:

Collection quemeQuems = quemeQuemDAOHib.getLotacaoDistinct(transaction);

Iterator iterator = quemeQuems.iterator();

			while (iterator.hasNext())
			{		
				
				[b]QuemeQuem quemeQuem = iterator.next();		[/b]			
				
				results.append("<option>");						
				results.append("<text>");
				
				results.append(XmlUtil.encodeXml(quemeQuem.getLotacao()));
				results.append("</text>");
				
				results.append("<value>");					
				results.append(XmlUtil.encodeXml(quemeQuem.getLotacao()));
				results.append("</value>");
				
				if(controlStringValue != null && controlStringValue.equals(quemeQuem.getLotacao()))
					results.append("<selected>true</selected>");

				results.append("</option>");										
			}

O Error:

Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to br.com.teste.quemequem.QuemeQuem
at br.com.teste.quemequem.dataBoundControl.GerenciaControl.setRenderData(GerenciaControl.java:195)
… 41 more

Vc concorda que este seu Select:

select DISTINCT lotacao  FROM QuemeQuem

Vai retorna uma coluna só? E essa coluna é String?

O erro está ocorrendo aki:

   return (Collection<QuemeQuem>)  query.list(); 

Olá ignacio83,

Muito obrigado pela dica, pois tava batendo cabeça nessa besteira. É uma daquelas coisas que a gente não consegue ver, somente quando uma outra pessoa observa que conseguimos identificar.

Muito Obrigado!!!