我尝试连接用户时遇到异常。这个例外是:
java.lang.NoClassDefFoundError: Could not initialize class fr.inra.grignon.persyst.common.util.HibernateUtil
fr.inra.grignon.persyst.web.servlet.DoLogin.doPost(DoLogin.java:32)
javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
我在一些帖子上看到,hibernate 4和我们创建会话工厂的方式是错误的。但我正在使用hibernate 3.3.1 。 在HibernateUtil.java中,我有:
package fr.inra.grignon.persyst.common.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
public static final SessionFactory sessionFactory;
static {
try {
// Création de la SessionFactory à partir de hibernate.cfg.xml
sessionFactory = 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);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
在创建sessionFactory(public static final SessionFactory sessionFactory
)时,我有一个警告:
常量名称不遵循命名约定:sessionFactory