Subject | ResultsetMetaData problem/bug? |
---|---|
Author | Kurt R. Hoehn |
Post date | 2004-04-30T15:43:08Z |
Firebird-Java,
I'm using the jakarta-commons beanutils to do ResultSet to Bean
mapping. This relies heavily on the ResultSetMetaData, when it
creates the bean the class type returned from the JayBird driver is
java.lang.Long when the column type in Firebird is an INTEGER, but
when you get the actual result its of type java.lang.Integer, causing
a class cast exception.
I went into the code and noticed that in the
FBResultSetMetaData#getColumnClassName
...
case ISCConstants.SQL_LONG:
return Long.class.getName();
...
I modified that to
case ISCConstants.SQL_LONG:
return Integer.class.getName();
and everything worked. I don't know if that is a correct hack but it
fixed my problem.
If this is a bug what do I need to do to get it fixed?
Thank You,
kurt
I'm using the jakarta-commons beanutils to do ResultSet to Bean
mapping. This relies heavily on the ResultSetMetaData, when it
creates the bean the class type returned from the JayBird driver is
java.lang.Long when the column type in Firebird is an INTEGER, but
when you get the actual result its of type java.lang.Integer, causing
a class cast exception.
I went into the code and noticed that in the
FBResultSetMetaData#getColumnClassName
...
case ISCConstants.SQL_LONG:
return Long.class.getName();
...
I modified that to
case ISCConstants.SQL_LONG:
return Integer.class.getName();
and everything worked. I don't know if that is a correct hack but it
fixed my problem.
If this is a bug what do I need to do to get it fixed?
Thank You,
kurt