Je perds en précision dans mes appels à ResultSet.getDate (x). Fondamentalement:
rs = ps.executeQuery();
rs.getDate("MODIFIED");
renvoie les dates tronquées au jour où MODIFIED est un champ Oracle TIMESTAMP de précision par défaut. Je pense qu'il me manque peut-être un peu de JDBC Tweak; généralement TIMESTAMP est compatible avec DATE, mais j'espère ne pas avoir à redéfinir la table entière.
ResultSet.getDate()
renvoie un Java.sql.Date
, pas un Java.util.Date
. Il s’agit d’une date intemporelle. Si vous voulez un horodatage, utilisez ResultSet.getTimestamp()
!
Vous devez utiliser Java.sql.Timestamp au lieu de Java.sql.Date. Vous pouvez l’utiliser ultérieurement en tant qu’objet Java.util.Date.
rs = ps.executeQuery();
Timestamp timestamp = rs.getTimestamp("MODIFIED");
J'espère que cela t'aides.
Utiliser l'horodatage est la bonne façon. Veuillez noter qu’avec Timestamp, vous ne pourrez pas définir les colonnes sur nullable si vous utilisez Liquibase.
Un problème que j'ai rencontré aussi.