我使用Eclipse 3.1.0 STS与Hibernate Tools 3.6.0。我正在尝试连接到MySQL 5.5数据库以生成我的DAO类。我使用的MySQL驱动程序使用mysql-connector-java的5.1.21.jarHibernate的工具在Eclipse STS给错误在连接到MySQL数据库
在设置休眠控制台文件(Hibernate的工具),我是能够成功地ping我的数据库。所以我认为我的驱动版本没问题。
设置休眠控制台文件后,当我尝试生成Hibernate逆向工程文件(reveng.xml),我收到以下错误 -
An internal error occurred during: "Fetching children of Database".
我可以看到下面的堆栈跟踪STS的错误日志 -
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:133)
at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect.getTables(JDBCMetaDataDialect.java:26)
at org.hibernate.cfg.reveng.JDBCReader.processTables(JDBCReader.java:476)
at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:74)
at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter$2.execute(LazyDatabaseSchemaWorkbenchAdapter.java:126)
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:115)
at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.getChildren(LazyDatabaseSchemaWorkbenchAdapter.java:65)
at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:106)
at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:235)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
我使用的步骤来使用这个link描述Hibernate的工具。
希望任何帮助或指针来解决这个问题。谢谢。
UPDATE
我搬到了STS 3.2.0和我创建了一个简单的Maven快速启动项目安装JBoss 4.0.0工具
,随后在link
提到在此的所有步骤安装程序,我可以成功地为数据库表生成实体& DAO类。我不必重新启动STS。它在第一次尝试中运行良好。
能正常工作与MySQL 5.5和的Oracle 11g。
您是否找到了解决方案?我试图创建一个新的Java项目,只有代码gen的配置。我也遇到同样的错误。但在重新启动Eclipse后它正在工作。 – Stanley 2013-07-05 02:47:57
是的。这是某种错误。没有人真的把它固定下来,我可以找到一致,但解决方法有点简单。我实际上最终只是在记录数分钟的时候发表评论,而让Hibernate reveng工具做它的事情。通过这篇文章forum.hibernate.org/viewtopic.php?p=2441023然后我读了他们,一切都很好。尝试删除Eclipse附加到大多数项目的默认日志记录。祝你好运!如果您找到了另一种解决方案或真正的解决方案,我们很乐意听到:P – Dguti 2013-07-22 15:24:54
谢谢Dguti,最后我可以解决这个问题。 – Mohit 2014-10-02 08:01:18