0

我正在尝试使用 buildSessionFactory 方法,但它根本不起作用。这很奇怪,因为几天前它以不同的例子对我有用。我用谷歌搜索了如何用不同的解决方案替换它,但到目前为止没有一个有效,我对 Hibernate 还很陌生,所以很有可能其他东西正在崩溃,但我对错误消息的理解告诉我它一定是它。这就是我使用它的方式:

private static SessionFactory buildSessionFactory() {
        try {
            // Create the SessionFactory from hibernate.cfg.xml
            return new Configuration().configure().buildSessionFactory();

        }
        catch (Throwable ex) {
            // Make sure you log the exception, as it might be swallowed
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }

但所有错误消息最终都指向:

return new Configuration().configure().buildSessionFactory();

并说:

java.lang.NoClassDefFoundError: 无法初始化类 com.xxx.xxx.xxx.HibernateUtil(抱歉,我不得不隐藏这些包的名称)

我可以用什么来代替这个解决方案,或者我该如何解决?

4

1 回答 1

0

根据文档:

NoClassDefFoundError

如果 Java 虚拟机或 ClassLoader 实例尝试加载类的定义(作为正常方法调用的一部分或作为使用 new 表达式创建新实例的一部分)并且找不到类的定义,则抛出此异常。

您的课程似乎HibernateUtil在运行时不可用。它必须添加到类路径中。

于 2013-09-30T15:01:48.820 回答