[hibernate-issues] [Hibernate-JIRA] Created: (HBX-1071) OracleMetaDataDialect not 8i compliant ... join keyword versus (+)
Nobody Who Cares (JIRA)
noreply at atlassian.com
Mon Jul 7 11:11:39 EDT 2008
OracleMetaDataDialect not 8i compliant ... join keyword versus (+)
------------------------------------------------------------------
Key: HBX-1071
URL: http://opensource.atlassian.com/projects/hibernate/browse/HBX-1071
Project: Hibernate Tools
Issue Type: Bug
Components: reverse-engineer
Affects Versions: 3.2.0.GA
Environment: Whatever 3.2.X version is packaged w/ JBoss Seam 2.0.2.SP1, Oracle 8.1.7.4.0
Reporter: Nobody Who Cares
Priority: Minor
The SQL constants used in the prepared statements use the "left join" phrase instead of the 8i equivalent syntax where the "(+)" symbol is located appropriately based on right/left qualifier. Subsequent execution produces the following exception as expected with unrecognized syntax:
Caused by: java.sql.SQLException: ORA-00933: SQL command not properly ended
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:
643)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.jav
a:1819)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
nt.java:2015)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePrepar
edStatement.java:395)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePrepare
dStatement.java:339)
at org.hibernate.cfg.reveng.dialect.OracleMetaDataDialect.getTableResult
Set(OracleMetaDataDialect.java:672)
at org.hibernate.cfg.reveng.dialect.OracleMetaDataDialect.getTables(Orac
leMetaDataDialect.java:221)
... 30 more
The 8i syntax should be used since it is compatible with all versions of Oracle. I realize that 8i is a decade+ old...but it is still employed in many commercial and government mission critical enterprise systems.
Overriding the class with the generic JDBCMetaDataDialect class (i.e. hibernatetool.metadatadialect property value) also produces an exception (i.e. Invalid column name) because the ResultSet inner class convertRow() method implementation uses getString"<table name>") as opposed to the more precise getString(<index>) technique.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list