En java tenemos:
- el paquete java.util
- Date: representa el tiempo con precision de milisegundos
- Calendar: clase abstrapta que provee metodos para convertir instantes de tiempo en un conjunto de campos del calendario.
- GregorianCalendar: es una clase concreta de Calendar.
- el paquete java.sql
En las bases de datos Oracle tenemos:
- Date: guarda fecha y hora pero solo con una precision de 1 segundo
- Time: guarda la hora.
- Timestamp: guarda fecha y hora.
Si tratas de convertir un tipo de dato SQL.DATE en java.util.Date: tienes que usar la anotacion de JPA: @Temporal que indica que se debe hacer una conversion temporal al tipo (indicado en la anotacion), para tranformarlo al tipo especificado en la clase.
@Temporal(TemporalType.TIMESTAMP) @Column(name = "FECHA_DATE", nullable = false) public java.util.Date getFechaDate() { return this.fechaDate; }
De esta manera conservamos la fecha y la hora.
Solucion a errores:
jpa-2-0-oracle-date-has-null-time