I created a java.sql.Time object with an inner "fastTime" value of 1, storing it in a "time with time zone" field using a PreparedStatement insert. When I retrieve it, also via PreparedStatement, I notice that the "fastTime" value is not the value 1 that I expected, but 86400001 instead. Although the toString() output looks the same for these two values, the check originalObject.equals(retrievedObject) returns false.
The JavaDoc for the java.sql.Time object states, 'The date components should be set to the "zero epoch" value of January 1, 1970 and should not be accessed.', which suggests that the driver's returned value is out of compliance.
Database ENCODING = 'WIN1252'; jdk1.6.0_06. Feel free to contact me for any additional details.
John Pile
Sacramento, CA