I am losing precision in my ResultSet.getDate(x) calls. Basically:
rs = ps.executeQuery();
rs.getDate("MODIFIED");
is returning dates truncated to the day where MODIFIED is an Oracle TIMESTAMP field of default precision. I think there may be some JDBC tweak I'm missing; usually TIMESTAMP is compatible with DATE, but I'm hoping I don't have to redefine the entire table.
Using Timestap is the correct way. Please take not that with Timestamp you will not be able to set the columns to nullable if you were to use Liquibase.
A problem I came across as well.
You should use java.sql.Timestamp instead of java.sql.Date. You can use it as a java.util.Date object afterward if necessary.
Hope this helps.
ResultSet.getDate()
returns ajava.sql.Date
, not ajava.util.Date
. It is defined to be a timeless date. If you want a timestamp, useResultSet.getTimestamp()
!