TDS
#1
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.
_fs
#2
Não consegui identificar algum erro, porém, verifique estas coisas:
- Se não há duas classes LoginAcessoTO diferentes com o mesmo nome em pacotes diferentes.
- Se os objetos da lista não são na verdade Object[]s
- 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 
jehjeh
#3
lista = q.list();
a sua variável lista provavelmente não é uma java.util.List
TDS
#4
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…
