Você tá usando a API Criteria? Se for o caso, você pode usar o método sqlRestriction da classe Restrictions e tentar passar uma restrição como “trunc(campo_data_do_campo) = :data”.
Lembrando que isso manda o índice do Oracle pra casa de cacete.
desse jeito ai funcionou, mas será que o HQL não preve uma forma mais simples de fazer isso??? Esquisito não?
P
psevestre
O campo da base é VARCHAR/VARCHAR2/CHAR ?
Se for e não for possível mudar isto enquanto é tempo:
Reserve alguns minutos para amaldiçoar quem teve a péssima idéia de guardar uma data como caracter na base.
Lembre-se de registrar no relatório de atividades que vc. gastou horas adicionais para contornar a besteira que foi feita
Tente usar uma função de conversão de [VAR]CHAR[2] para DATE, e faça a comparação em HQL usando um parâmetro do tipo java.util.Date ou subclasses:
Query q = session.createQuery(“from SuaClasse o where TO_DATE(o.colunaComData,’’) > :param”)
q.setDate(“param”,param)
Cabral
psevestre, obrigado pela resposta.
o campo é date sim, mas o problema é que quando eu peço pra ele comparar ele compara os segundos e os milésimos e eu gostaria que ele comparasse só a data, pois senão ele nunca vai achar uma igual.