pessoal esse é meu codigo
public Reservas procurarReserva() {
sessao = HibernateUtil.getSession();
tx = sessao.beginTransaction();
Reservas resultados = (Reservas) sessao.createCriteria(Reservas.class)
.setProjection( Projections.max("horaPrevista")
)
.uniqueResult();
//Reservas a = (Reservas) selecao.uniqueResult();
return resultados;
}
esse é meu método de buscar a hora no banco mas estar dando erro
quando executo dá esse erro:
java.lang.ClassCastException: java.lang.String cannot be cast to modelos.Reservas
gostaria da ajuda de vocês para solucionar esse problema
Utilize a tag code para postar seu código. Esse erro ocorre porque você está tentando transformar uma String em Reservas.
Tente assim:
Criteria criteria = session.createCriteria(Reservas.class);
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.max("horaPrevista"));
criteria.setProjection(projectionList);
Reservas reserva = (Reserva)criteria.uniqueResult();
ErickRAR, mesmo usando o código com você me enviou fica dando esse erro
java.lang.ClassCastException: java.lang.String cannot be cast to modelos.Reservas
vou enviar aqui minha classe modelo, o mapeamento e o método de busca:
classe modelo
[code]package modelos;
public class Reservas {
private long id;
private String codigo;
private String valor;
private String cpf;
private String fone;
private String datareserva;
private String horaPrevista;
private String medicos;
private String pacientes;
private String funcionarios;
private String procedimento;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public String getValor() {
return valor;
}
public void setValor(String valor) {
this.valor = valor;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getFone() {
return fone;
}
public void setFone(String fone) {
this.fone = fone;
}
public String getDatareserva() {
return datareserva;
}
public void setDatareserva(String datareserva) {
this.datareserva = datareserva;
}
public String getMedicos() {
return medicos;
}
public void setMedicos(String medicos) {
this.medicos = medicos;
}
public String getPacientes() {
return pacientes;
}
public void setPacientes(String pacientes) {
this.pacientes = pacientes;
}
public String getFuncionarios() {
return funcionarios;
}
public void setFuncionarios(String funcionarios) {
this.funcionarios = funcionarios;
}
public String getProcedimento() {
return procedimento;
}
public void setProcedimento(String procedimento) {
this.procedimento = procedimento;
}
public String getHoraPrevista() {
return horaPrevista;
}
public void setHoraPrevista(String horaPrevista) {
this.horaPrevista = horaPrevista;
}
}
[/code]
mapeamentos
[code]
<id name="id" column="idReserva">
<generator class="increment"/>
</id>
<property name="codigo" column="codigoReserva"/>
<property name="datareserva" column="dataReserva"/>
<property name="cpf" column="cpfPaciReserva"/>
<property name="valor" column="valReserva"/>
<property name="fone" column="foneReserva"/>
<property name="horaPrevista" column="horaPrevistaReserva"/>
<property name="funcionarios" column="funReserva"/>
<property name="medicos" column="medReserva"/>
<property name="pacientes" column="pacReserva"/>
<property name="procedimento" column="procReserva"/>
</class>
[/code]
método do repositorio
[code] public 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);
Reservas reserva = (Reservas) criteria.uniqueResult();
return reserva;
}
}
[/code]
erickrar esse classe e a tabele que quero pesquisar,
ErickRAR, esse é a pesquisa que queria fazer com hibernate
SELECT max(horaPrevistaReserva)FROM reserva
WHERE idReserva = (SELECT max(idReserva) FROM reserva);
em sql deu certo mas quando vai para hibernate/java da pau
Olha onsegui buscar no banco o resultado que eu precisava
o problema ainda e mostra 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 é esse:
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;
}