Using timestamps as keys is a
very bad idea. Like floating-point numbers, timestamps can be very fuzzy and so it's virtually impossible to reliable compare them for equality. Especially since the granularity of
JDBC time objects (such as java.sql.Date) and the actual granularity of the timestamp fields in databases frequently do not agree. Date has a granularity of milliseconds, but the Oracle coarse-grained timestamp is only accurate to seconds, and the fine-grained timestamp is in microseconds, if memory serves.