[resolvido]Busca com TIMESTAMP no Postgres + JPA

Boa noite pesssoal,

tenho um atributo TIMESTAMP para horário de atendimento, porém,
preciso buscar todos os atendimentos de um determinado dia,
alguém pode me ajudar a fazer essa consulta?
sei que o POSTGRES tem algumas funções para trabalhar com esses tipos de dado,
mas ainda não consegui achar uma função que pesquisasse por dia,

alguém pode me ajudar?

pode ser tanto no HQL quanto no SQL puro do Postgres mesmo!

Um Abraço:)

Aqui mostra como realizar consulta com datas com JPA/Hibernate: JPA Consultas e Dicas.

valeu Hebert muito bom o mini-book, algumas condições eu até já conhecia,
mas não tava lembrando, me ajudou muito, valeu!

[quote=vitordaumling]valeu Hebert muito bom o mini-book, algumas condições eu até já conhecia,
mas não tava lembrando, me ajudou muito, valeu![/quote]Bom saber que ajudou. Por nada! =D

posto a solução aqui, pra buscar horarios de atendimento por dia

A query ficou assim

    @NamedQuery(name = "HorarioAtendimento.findByDataHoraAtendimento", query = "SELECT h FROM HorarioAtendimento h WHERE h.dataHoraAtendimento between :startDate and :endDate")

dai o metodo pra executar a Query ficou assim:

    public List<HorarioAtendimento> findByDataHoraAtendimento(Date startDate, Date endDate)
            throws Throwable {
        List<HorarioAtendimento> horariosAtendimento = null;
        try {
            transaction.begin();
            Query query = entityManager.createNamedQuery("HorarioAtendimento.findByDataHoraAtendimento");
            
            //atendimentos entre a 00:00 da data inicial passada como parametro
            Calendar c1 = Calendar.getInstance();
            c1.setTime(startDate);
            c1.set(Calendar.HOUR_OF_DAY, 0);
            c1.set(Calendar.MINUTE, 0);
            c1.set(Calendar.SECOND, 0);
            c1.set(Calendar.MILLISECOND, 0);
            // e as 23:59:59:99 da data final passada como parametro
            Calendar c2 = Calendar.getInstance();
            c2.setTime(endDate);
            c2.set(Calendar.HOUR_OF_DAY, 23);
            c2.set(Calendar.MINUTE, 59);
            c2.set(Calendar.SECOND, 59);
            c2.set(Calendar.MILLISECOND, 99);
            
            query.setParameter("startDate", startDate);
            query.setParameter("endDate", endDate);
            
            horariosAtendimento = query.getResultList();
            transaction.commit();
        } catch (Throwable t) {
            transaction.rollback();
            LOGGER.fatal("Erro ao buscar Horarios por DataHoraAtendimento.", t);
            throw t;
        }
        return horariosAtendimento;
    }

assim ele busca TODOS os horários de atendimento da data inicial até o final da data final passada como parametro