Java.util.Date com java.sql.Timestamp Hibernate

Olá,
Estou tendo um problema aqui que ta de arrepiar!
Como sabem o java.sql.Timestamp estende java.util.Date, logo eu consigor fazer por exemplo:

Timestamp t; Date d; if(d.before( t ) )

Porém isso não funciona!

O problema é que os campos timestamp do banco de dados é tipado como java.sql.Timestamp
e tenho códigos que precisam fazer comparações, para ver o prazo de expiração de algo e tals.

algo como, data que vem do banco não pode ser antes que hoje.

Como fazer pro hibernate trabalhar apenas com Date?

vc ja tentou converter o timestamp em date, e depois comparar?


public static java.util.Date toDate(java.sql.Timestamp timestamp) {
    long milliseconds = timestamp.getTime() + (timestamp.getNanos() / 1000000);
    return new java.util.Date(milliseconds);
}

ja tentei e não deu certo tambem…

outro problema seria sair em todo projeto alterando isso. pra fazer esse “gato”…

As duas classes tem um metodo que retorna um long chamado getTime().

http://download.oracle.com/javase/6/docs/api/java/util/Date.html#getTime()

http://download.oracle.com/javase/6/docs/api/java/sql/Timestamp.html#getTime()

Oi!

Podes usar o Jodatime para manipulação de datas.
Pode usar o Calendar, pode fazer algo como um select no banco (não sei se resolve) ou simplesmente:

Timestamp ts = new Timestamp(new Date().getTime()); ts.before(timeStampDoBanco);

Talvez isso resolva.
Abraços.