2010-07-16 87 views
26

我在ResultSet.getDate(x)调用中失去精度。基本上:JDBC ResultSet getDate失去精度

rs = ps.executeQuery(); 
rs.getDate("MODIFIED"); 

返回的日期被截断到MODIFIED是默认精度的Oracle TIMESTAMP字段的那一天。我认为可能会有一些我缺少的JDBC调整;通常TIMESTAMP与DATE兼容,但我希望不必重新定义整个表格。

回答

4

您应该使用java.sql.Timestamp而不是java.sql.Date。如有必要,您可以在以后将其用作java.util.Date对象。

rs = ps.executeQuery(); 
Timestamp timestamp = rs.getTimestamp("MODIFIED"); 

希望这会有所帮助。

+2

自'Timestamp extends Date'以来,构造'new Date'是不必要的。 – BalusC 2010-07-16 15:56:17

0

使用Timestap是正确的方法。 请不要使用Timestamp,如果您要使用Liquibase,您将无法将列设置为空。

我遇到了一个问题。