Я теряю точность в своих вызовах ResultSet.getDate(x). В основном:
rs = ps.executeQuery();
rs.getDate("MODIFIED");
возвращает даты, усеченные до дня, когда MODIFIED является полем Oracle TIMESTAMP точности по умолчанию. Я думаю, что может быть какая-то настройка JDBC, которую я пропускаю; обычно TIMESTAMP совместим с DATE, но я надеюсь, что мне не нужно переопределять всю таблицу.