pessoal consigo buscar no banco o resultado que eu preciso,
o problema é que quando tento mostrar na tela o resultado fica dando esse erro:
java.lang.ClassCastException: java.lang.String cannot be cast to modelos.Reservas
at utilidades.TesteFachada.main(TesteFachada.java:40)
o método que usei para buscas e estar funcionando:
public List<Reservas> procurarReserva() {
sessao = HibernateUtil.getSession();
tx = sessao.beginTransaction();
Criteria criteria = sessao.createCriteria(Reservas.class);
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.max("horaPrevista"));
criteria.setProjection(projectionList);
List reserva = (List)criteria.list();
return reserva;
}
esse é o codigo que estou tentando chama o resultado na tela
for (Reservas p : f.procurarReserva()) {
System.out.println(" a hora previsto: "+p.getHoraPrevista());
}
agradeço pela ajuda!
Ta com problema de “cast” amigo, acho que nao precisa fazer o cast nessa linha:
List reserva = (List)criteria.list();
faz direto sem o cast
List reserva = criteria.list();
Nao tenho certeza, mas o criteria.list() ja te retorna uma lista =]
cara fiz umas mudanças no método de pesquisa ai deu certo, as mudanças foram essa:
método de busca no banco:
public String procurarReserva() {
sessao = HibernateUtil.getSession();// abrindo a sessão com minha classe hibernateUtil
tx = sessao.beginTransaction();
Criteria criteria = sessao.createCriteria(Reservas.class); //definindo um criterio
criteria.setProjection(Projections.max("horaPrevista")); //em vez de usar um ProjectionList.max qeu retorna uma lista, uso só
//Projections.max que retorna só uma String, ai deu certo
String a = (String) criteria.uniqueResult();//Jogo o resulto da dentro de um String e é só imprimir na tela
return a;
}
o método de imprime na tela é:
String b = f.procurarReserva();//crio uma variável e atribuo o valor que vem do banco
System.out.println("A ultima hora prevista inserida no banco foi: "+b); // mando mostra na tela
a minha dúvida é como procurar a maior hora, pela data especifica, vou tentar o restricion pra ver se funciona.
qualquer coisa posto aqui.
mas esse primeiro problema foi resolvido.
valeu!!