org.jboss.tools.hibernate.runtime.spi.HibernateException:无法从数据库获取表列表。可能是JDBC驱动程序问题

时间:2019-02-25 22:14:09

标签: java mysql hibernate hibernate-tools

我在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。 谁能提供以上配置的解决方案?

1 个答案:

答案 0 :(得分:0)

SQL显示Hibernate将HAVING子句放在ORDER BY之前。这是无效的SQL。基于@LppEdd的建议,我建议更新Hibernate并希望将其修复。