]
Michael Walker updated JBIDE-6351:
----------------------------------
Summary: org.hibernate.cfg.reveng.JDBCReader processTables() should support mixed-case
names for TableTypes (was: Tools Core: org.hibernate.cfg.reveng.JDBCReader
processTables() should support mixed-case names for TableTypes)
org.hibernate.cfg.reveng.JDBCReader processTables() should support
mixed-case names for TableTypes
--------------------------------------------------------------------------------------------------
Key: JBIDE-6351
URL:
https://jira.jboss.org/browse/JBIDE-6351
Project: Tools (JBoss Tools)
Issue Type: Feature Request
Components: Hibernate
Affects Versions: 3.1.0.GA
Reporter: Michael Walker
Assignee: Max Rydahl Andersen
Attachments: JDBCReader.java
A particular database (MetaMatrix/JBoss Enterprise Data Services Platform) returns
mixed-case values from the JDBC call DatabaseMetadata.getTableTypes(), specifically:
"Table", "View".
However, line 539 of org.hibernate.cfg.reveng.JDBCReader expects these values to always
be upper-case:
if ( ("TABLE".equals(tableType) || "VIEW".equals(tableType)
...
Upper-case values are typically expected here (see
http://java.sun.com/j2se/1.4.2/docs/api/java/sql/DatabaseMetaData.html#ge...),
but not required per the JDBC specification AFAIK.
Changing this logic to match on case-insensitive names allows Hibernate Tools to
successfully work with MetaMatrix. For example:
if ( ("TABLE".equalsIgnoreCase(tableType) ||
"VIEW".equalsIgnoreCase(tableType) /*|| "SYNONYM".equals(tableType)
*/) ) { //||
See the forum thread for more info.
I'll attach example code that was used to rebuild hibernate-tools.jar successfully,
which contains only the change described above, in case it is useful.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: