[hibernate-commits] Hibernate SVN: r18914 - branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/dialect.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Mar 2 07:01:59 EST 2010


Author: dgeraskov
Date: 2010-03-02 07:01:59 -0500 (Tue, 02 Mar 2010)
New Revision: 18914

Modified:
   branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/dialect/HSQLMetaDataDialect.java
Log:
Old HSQLDB versions fail on the statement [SELECT * FROM table WHERE FALSE] execution. So the statement was updated and Exception handling was added. Default pk strategy is used in case of sql exception.

Modified: branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/dialect/HSQLMetaDataDialect.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/dialect/HSQLMetaDataDialect.java	2010-03-01 13:32:12 UTC (rev 18913)
+++ branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/dialect/HSQLMetaDataDialect.java	2010-03-02 12:01:59 UTC (rev 18914)
@@ -49,7 +49,7 @@
 						String table = tableRs.getString("TABLE_NAME");
 						String fullTableName = Table.qualify(cat, sc, quote(table));
 						
-						String sql ="SELECT * FROM " + fullTableName + " WHERE FALSE";
+						String sql ="SELECT * FROM " + fullTableName + " WHERE 0>1";
 						boolean isAutoIncrement = false;
 						
 						PreparedStatement statement = null;
@@ -67,6 +67,9 @@
 								if (isAutoIncrement) break;
 							}
 
+						} catch(SQLException e) {
+							//log error and set HIBERNATE_STRATEGY to null
+							log.debug("Error while getting suggested primary key strategy for " + fullTableName + ". Falling back to default strategy.",e);
 						} finally {
 							if(statement!=null) {
 								try {



More information about the hibernate-commits mailing list