Olá!
Eu estou passando por um problema depois que executo uma query no hibernate e tento pegar os valores desta query em um datatable.
Trata-se do erro “for input string”, que em outra ocasião achei que havia resolvido nesta query:
public List listarSalaDisponivel(Aloca aloca,String quantidade,String codcampus){
return this.session.createSQLQuery("select * from sala s where not exists(select codsala from aloca_turma_sala ats where diasemana <> :diasemana and horainicio < :horafim and horafim > :horainicio and s.codsala = ats.codsala) and s.capacidade >= :quantidade and s.codcampus = :codcampus")
.addEntity(Sala.class) //adicionei isto e funcionou
.setParameter("diasemana", aloca.getDiaSemana())
.setParameter("horainicio", aloca.getHoraInicio())
.setParameter("horafim", aloca.getHoraFim())
.setParameter("quantidade", quantidade)
.setParameter("codcampus", codcampus)
.list();
}
Só que se eu fizer a mesma coisa numa query que trabalha com mais de uma tabela, ele diz que tem nome invalido de coluna, sendo que a query fou testada no banco e esta correta.Veja:
public List mostraTurmasAlocadas(Sala sala,String diasemana){
return this.session.createSQLQuery("select * from turma t,aloca_turma_sala a where a.codturma = t.codturma and a.codcampus = :codcampus and a.codbloco = :codbloco and a.codpavimento = :codpavimento and a.codsala = :codsala and a.diasemana = :diasemana")
.addEntity(Turma.class)
.addEntity(Aloca.class)
.setParameter("codcampus", sala.getId().getCodCampus())
.setParameter("codbloco", sala.getId().getCodBloco())
.setParameter("codpavimento", sala.getId().getCodPavimento())
.setParameter("codsala", sala.getId().getCodSala())
.setParameter("diasemana", diasemana)
.list();
}
Alguem pode me ajudar???