我在使用ResultSet.getDate(x)时失去了精度。基本上:
rs = ps.executeQuery();
rs.getDate("MODIFIED");
如果MODIFIED是Oracle TIMESTAMP字段的默认精度,则返回的日期将被截断为天。我认为可能有一些我忽略的JDBC调整;通常TIMESTAMP与DATE兼容,但我希望不必重新定义整个表。
ResultSet.getDate()
方法返回的是一个 java.sql.Date
,而不是一个 java.util.Date
。它被定义为一个无时间戳的日期。
如果您想要时间戳,请使用 ResultSet.getTimestamp()
方法!
您应该使用java.sql.Timestamp而不是java.sql.Date。如果需要,您可以随后将其用作java.util.Date对象。
rs = ps.executeQuery();
Timestamp timestamp = rs.getTimestamp("MODIFIED");
new Date
是不必要的,因为Timestamp extends Date
。 - BalusC