DATE e TIMESTAMP hanno la stessa dimensione (7 byte). Questi byte vengono utilizzati per memorizzare secolo, decennio, anno, mese, giorno, ora, minuti e secondi. Ma TIMESTAMP consente di memorizzare informazioni aggiuntive come secondi frazionari (11 byte) e secondi frazionari con fuso orario (13 byte).
TIMESTAMP è stato aggiunto come conforme ANSI a Oracle. Prima di allora, aveva solo DATE.
In casi generali dovresti usare DATE. Ma se la precisione nel tempo è un requisito, usa TIMESTAMP.
E per quanto riguarda Java, la classe oracle.sql.DATE del driver Oracle JDBC, fornisce conversioni tra il tipo di dati Oracle Date/Timestamp e le classi Java java.sql.Date, java.sql.Time e java.sql.Timestamp.