gpt4 book ai didi

java - 如何修复和执行此示例 Hibernate 程序以创建表

转载 作者:行者123 更新时间:2023-11-30 11:04:11 26 4
gpt4 key购买 nike

我有一个简单的 java hibernate 程序。它抛出异常,我无法理解。

我的代码是:

import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class TestEmployee {

public static void main(String[] args) {
AnnotationConfiguration config = new AnnotationConfiguration();
config.addAnnotatedClass(Employee.class);
config.configure("hibernate.cfg.xml");

new SchemaExport(config).create(true, true);

}

}

错误是:

SLF4J: slf4j-api 1.6.x (or later) is incompatible with this binding.
SLF4J: Your binding is version 1.5.5 or earlier.
SLF4J: Upgrade your binding to version 1.6.x. or 2.0.x
Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder;
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:121)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:111)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:268)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:241)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:254)
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:197)
at com.Hibernate.chapter1.TestEmployee.main(TestEmployee.java:10)**

注意:在我的 eclipse 中有一行 AnnotationConfiguration()。

是什么原因造成的,我该如何解决?

最佳答案

你的问题的原因已经清楚地给出了错误

SLF4J: slf4j-api 1.6.x (or later) is incompatible with this binding.
SLF4J: Your binding is version 1.5.5 or earlier.
SLF4J: Upgrade your binding to version 1.6.x. or 2.0.x

SLF4J 绑定(bind)指定一个工件,例如 slf4j-jdk14.jar 或 slf4j-log4j12.jar,用于将 slf4j 绑定(bind)到底层日志记录框架,例如 java.util.logging 和 log4j。混合不同版本的 slf4j-api.jar 和 SLF4J 绑定(bind)可能会导致问题。例如,如果您正在使用 slf4j-api-1.7.12.jar,那么您也应该使用 slf4j-simple-1.7.12.jar,使用 slf4j-simple-1.5.5.jar 将不起作用。

从客户的角度来看,所有版本的 slf4j-api 都是兼容的。对于任何 N 和 M,使用 slf4j-api-N.jar 编译的客户端代码将与 slf4j-api-M.jar 一起完美运行。您只需要确保绑定(bind)的版本与 slf4j-api.jar 的版本相匹配。您不必担心项目中给定依赖项使用的 slf4j-api.jar 的版本。您始终可以使用任何版本的 slf4j-api.jar,只要 slf4j-api.jar 的版本及其绑定(bind)匹配,就可以了。

要使 hibernate 正常工作,您需要将与 hibernate 相关的 jar 文件添加到您的项目中。它包括名称以“slf4j”开头的 jar 。要修复错误,您需要确保所有 slf4j jar 都具有相同的版本。即(如果您使用的是 slf4j-api-1.7.12.jar,那么您还应该使用 slf4j-simple-1.7.12.jar,使用 slf4j -simple-1.5.5.jar 将不起作用。)

将所有 slf4j jar 更新到最新版本应该可以解决此问题,或者您可以检查所有 slf4j jar 并替换有问题的。

下载 slf4j 的链接在下面

http://www.slf4j.org/download.html

有关错误和 jar 的更多信息,请访问

http://www.slf4j.org/codes.html

关于java - 如何修复和执行此示例 Hibernate 程序以创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30098190/

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