[ https://issues.apache.org/jira/browse/BEANUTILS-142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Henri Yandell updated BEANUTILS-142: ------------------------------------ Attachment: Play.java Test case for this bug. It shows that there is a problem with DATE columns being loaded as originally said. I don't think an Exception is thrown for TIMESTAMP->oracle.sql.TIMESTAMP. Instead the user gets an oracle.sql.TIMESTAMP object instead of the expected java.sql.Timestamp. We should a) Fix the exception and b) Probably tidy up a bit so users don't get the oracle class. Here is the output: metadata - java.sql.Date? java.sql.Timestamp metadata - java.sql.Timestamp? oracle.sql.TIMESTAMP getDate - java.sql.Date? class java.sql.Date getObject - java.sql.Date? class java.sql.Date getTimestamp - java.sql.Timestamp? class java.sql.Timestamp getObject - java.sql.Timestamp? class oracle.sql.TIMESTAMP Exception in thread "main" org.apache.commons.beanutils.ConversionException: Cannot assign value of type 'java.sql.Date' to property 'test_date' of type 'java.sql.Timestamp' at org.apache.commons.beanutils.BasicDynaBean.set(BasicDynaBean.java:304) at org.apache.commons.beanutils.RowSetDynaClass.copy(RowSetDynaClass.java:240) at org.apache.commons.beanutils.RowSetDynaClass.<init>(RowSetDynaClass.java:187) at org.apache.commons.beanutils.RowSetDynaClass.<init>(RowSetDynaClass.java:105) at jdbc.Play.main(Play.java:38) > [beanutils] RowSetDynaClass fails to copy resulset to DynaBean with Oracle > 10g JDBC driver > ------------------------------------------------------------------------------------------ > > Key: BEANUTILS-142 > URL: https://issues.apache.org/jira/browse/BEANUTILS-142 > Project: Commons BeanUtils > Issue Type: Bug > Components: DynaBean > Environment: Operating System: Windows XP > Platform: All > Reporter: Li Zhang > Assignee: Henri Yandell > Fix For: 1.8.0 > > Attachments: Beanutils-142.patch, Play.java > > > Beginning in Oracle 9.2, DATE is mapped to Date and TIMESTAMP is mapped to > Timestamp. However if you were relying on DATE values to contain time > information, there is a problem. When using Oracle 10g JDBC driver, the > ResultSetMetaData.getColumnClassName returns java.sql.Timestamp but > ResultSet.getObject(name).getClass() returns java.sql.Date. Obviously these > two > do not match each other. When the RowSetDynaClass.copy function tries to set > the > value to BasicDynaBean, it throws exception. Need a workaround. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]