Erro em consulta sql usando max com hibernate

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;
	}