我在Hibernate Tools中遇到错误。
org.jboss.tools.hibernate.runtime.spi.HibernateException:无法从数据库获取表列表。可能是JDBC驱动程序问题。 配置模式:空 配置目录:空 可用模式: 可用目录: 证券交易所 information_schema MySQL的 performance_schema 萨基拉 系统 世界
at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter$2.execute(LazyDatabaseSchemaWorkbenchAdapter.java:141)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63)
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:107)
at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.readDatabaseSchema(LazyDatabaseSchemaWorkbenchAdapter.java:124)
at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.getChildren(LazyDatabaseSchemaWorkbenchAdapter.java:64)
at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:104)
at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:231)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
由以下原因引起:java.sql.SQLSyntaxErrorException:您的SQL语法有错误。检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的'HAVING TABLE_TYPE IN('TABLE','VIEW',null,null,null)ORDER BY TABLE_TYPE,TABLE_'附近使用 在com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:118) 在com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95) 在com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) 在com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:960) 在com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1019) 在com.mysql.cj.jdbc.DatabaseMetaDataUsingInfoSchema.executeMetadataQuery(DatabaseMetaDataUsingInfoSchema.java:62) 在com.mysql.cj.jdbc.DatabaseMetaDataUsingInfoSchema.getTables(DatabaseMetaDataUsingInfoSchema.java:835) 在org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect.getTables(JDBCMetaDataDialect.java:27) 在org.hibernate.cfg.reveng.TableProcessor.processTables(TableProcessor.java:39) 在org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:58) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(未知来源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源) 在java.lang.reflect.Method.invoke(未知来源) 在org.jboss.tools.hibernate.runtime.common.Util.invokeMethod(Util.java:43) 在org.jboss.tools.hibernate.runtime.common.AbstractJDBCReaderFacade.readDatabaseSchema(AbstractJDBCReaderFacade.java:32) 在org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter $ 2.execute(LazyDatabaseSchemaWorkbenchAdapter.java:132) ...还有7个
我正在使用Eclipse Neon(4.6.2),从Jboss下载的Hibernate-Tools,使用Hiberate Tool版本5.2,Hibernate版本-5.2.17.Final,MySQL- 8.0.15,Java-1.8。 谁能提供以上配置的解决方案?
答案 0 :(得分:0)
SQL显示Hibernate将HAVING
子句放在ORDER BY
之前。这是无效的SQL。基于@LppEdd的建议,我建议更新Hibernate并希望将其修复。