Oracle TIMESTAMP handling
-------------------------
Key: CAY-1088
URL: https://issues.apache.org/cayenne/browse/CAY-1088
Project: Cayenne
Issue Type: Bug
Components: Cayenne Core Library
Affects Versions: 3.0
Environment: Cayenne 3.0 M4, Oracle 10g, Java 1.5, Windows 2003 Server, Oracle Thin JDBC Driver
Reporter: Malcolm Edgar
Assignee: Andrus Adamchik
We have found that Cayenne 3.0 M4 is not assigning the correct extended type for Oracle TIMESTMAP columns when using the Oracle Thin JDBC driver.
For this column type the Oracle driver ResultSetMetaData getJavaClass returns oracle.sql.TIMESTAMP. After decompiling this class we found that it extends a class called Datum which extends Object. The TIMESTAMP class does not extend java.util.Date, so Cayenne is not able to associate it with the correct extended type.
The fix for this is relatively simple, see below, but we should roll this into the core framework.
regards Malcolm Edgar
DataDomain domain = Configuration.getSharedConfiguration().getDomain();
for (Iterator<DataNode> i = domain.getDataNodes().iterator(); i.hasNext();) {
DataNode node = i.next();
node.getAdapter().getExtendedTypes().registerType(new OracleUtilDateType() {
public String getClassName() {
return "oracle.sql.TIMESTAMP";
}
});
}
-- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
This archive was generated by hypermail 2.0.0 : Thu Jul 24 2008 - 20:21:20 EDT