duvidaHibernateQuery

Pessoal eu montei esta query abaixo e ela me retorna uma lista, bom o select que o hibernate me exibi, qdo executado no banco funciona certinho.

Query q = s.createQuery("from LoginAcessoTO as loginAcesso " +
"inner join loginAcesso.login as login " +
"inner join loginAcesso.aplicacao as aplicacao " +
"where login.login = ? and login.senha = ? " +
“order by aplicacao.descrAplicacao”);
q.setString(0, loginTO.getLogin());
q.setString(1, loginTO.getSenha());
lista = q.list();

Bom dai eu montei um main com um for para fazer o teste, vejam:

for (Iterator iter = lista.iterator(); iter.hasNext(); ) {
LoginAcessoTO lacTO = (LoginAcessoTO) iter.next();
System.out.println("Descrição Aplicacão: " + lacTO.getAplicacao().getDescrAplicacao());}

deu o seguinte erro:

java.lang.ClassCastException
at TesteLogin.main(TesteLogin.java:65)
Exception in thread “main”

O que estou fazendo de errado :?: :?: :?: Alguma dica…

Obrigado, Thiago.

Não consegui identificar algum erro, porém, verifique estas coisas:

  1. Se não há duas classes LoginAcessoTO diferentes com o mesmo nome em pacotes diferentes.
  2. Se os objetos da lista não são na verdade Object[]s
  3. Se você não está alterando os objetos na lista antes de iterar

E outra, tem certeza que esses inner joins ai no meio são necessários? Não basta:

from LoginAcessoTO as loginAcesso 
where loginAcesso.login.login = ? and loginAcesso.login.senha = ? 
order by loginAcesso.aplicacao.descrAplicacao 

E por último, quando for postar código, coloque-o entre as tags [ code]seucodigo[ /code], assim ele fica endentadinho :wink:

lista = q.list();

a sua variável lista provavelmente não é uma java.util.List

Grande Lipe,

sempre vc me dando um ‘help’, relamente os inner joins que estavam no meio não eram necessários. Ta funcionando redondinho agora.

brigadão… :slight_smile: :smiley: :stuck_out_tongue: