gpt4 book ai didi

mysql - 连接到 MySQL 数据库时,Hibernate 工具在 Eclipse STS 中出错

转载 作者:可可西里 更新时间:2023-11-01 07:37:31 25 4
gpt4 key购买 nike

我正在使用 Eclipse STS 3.1.0 和 Hibernate Tools 3.6.0。我正在尝试连接到 MySQL 5.5 数据库以生成我的 DAO 类。我正在使用 MySQL 驱动程序 mysql-connector-java-5.1.21.jar

在设置(Hibernate 工具的)hibernate 控制台文件时,我能够成功地 ping 我的数据库。所以我假设我的驱动程序版本没问题。

设置 Hibernate 控制台文件后,当我尝试生成 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 工具.

如果您能提供帮助或指点来解决此问题,我们将不胜感激。谢谢。

更新

我迁移到 STS 3.2.0 并安装了 JBoss Tools 4.0.0

我创建了一个简单的 maven 快速启动项目并遵循了 link 中提到的所有步骤

在此设置中,我可以为数据库表成功生成实体和 DAO 类。我也不必重新启动 STS。它在第一次尝试中运行良好。

这适用于 MySQL 5.5 和 Oracle 11g。

最佳答案

这个问题我遇到过两次了。在过去的两周里……我不得不把所有东西都移到一台已知的机器上,所以我又遇到了它。第一次修复它时,我从字面上删除了 pom.xml 中任何地方对 commons-logging 的任何引用。我不确定您是否在使用 Maven,但之前已经为我进行了半修复。

<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>

我正在从头开始创建一个新项目,同时遇到了这个问题。

我在这个问题上发现的信息很少,这对我来说似乎很奇怪,因为你只是通过使用休眠创建一个新项目来遇到它并且可以很容易地复制它。

我当然需要日志记录,所以我计划通过日志记录来解决这个问题。当我这样做时,我会发布我的答案。如果您找到可行的解决方案,可以发布吗?谢谢!

关于mysql - 连接到 MySQL 数据库时,Hibernate 工具在 Eclipse STS 中出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15231522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com