JDBC ResultSet getDate丢失精度
我在ResultSet.getDate(x)调用中失去了精度。 基本上:
rs = ps.executeQuery(); rs.getDate("MODIFIED");
返回截断日期,其中MODIFIED是默认精度的Oracle TIMESTAMP字段。 我想可能会有一些我不知道的JDBC调整; 通常TIMESTAMP与DATE兼容,但我希望我不必重新定义整个表。
ResultSet.getDate()
返回一个java. sql .Date
java. sql .Date
,不是java. util .Date
java. util .Date
。 java. util .Date
。 它被定义为一个永恒的日期。 如果需要时间戳,请使用ResultSet.getTimestamp()
!
您应该使用java.sql.Timestamp而不是java.sql.Date。 如有必要,您可以在以后将其用作java.util.Date对象。
rs = ps.executeQuery(); Timestamp timestamp = rs.getTimestamp("MODIFIED");
希望这可以帮助。
使用Timestap是正确的方法。 请不要使用Timestamp,如果你使用Liquibase,你将无法将列设置为可空。
我遇到的一个问题。