0

我正在使用eclipse junohibernate 4.1.6mysql connector 5.1.24jboss 7.1.1

我试过这个这个(作为一个模块)。

我在WEB-INF/lib文件夹中有连接器 JAR,我也尝试过一次没有它。一切都失败了。我不知道如何解决这个问题。整个堆栈跟踪:

18:35:44,284 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) Error creating Session: org.hibernate.service.classloading.spi.ClassLoadingException: Specified JDBC Driver com.mysql.jdbc.Driver class not found

连接器是一个类路径,它位于 Maven 依赖库中。我把它放在 lib 文件夹和系统库中......没有任何效果。

public class HibernateUtil {

private static SessionFactory sessionFactory;
private static ServiceRegistry serviceRegistry;

static
{
    try
    {
        Configuration configuration = new Configuration().configure("hibernate.cfg.xml");
        serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
        sessionFactory = configuration.buildSessionFactory(serviceRegistry);
    }
    catch (HibernateException he)
    {
        System.err.println("Error creating Session: " + he);
        throw new ExceptionInInitializerError(he);
    }
}
4

4 回答 4

3

签入您hibernate.cfg.xml已正确指定的文件driver classdialect

<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

(这些是 的属性<session-factory>

然后,只需构建您的会话工厂:

sessionFactory = new Configuration().configure().buildSessionFactory();

如果应用程序仍然没有看到连接器的 Maven 依赖项,请尝试进行全新安装,然后在检查项目的库列表后,那里会MySQL Connector出现 。

于 2013-07-07T17:54:32.790 回答
1

请检查您的 mysql 连接器版本是否与系统上安装的 mysql db 兼容。例如,mysql 连接器版本 5.1.26 与 mysql 5.6.25 兼容,而 5.1.34 则不兼容。

于 2019-12-31T18:26:53.697 回答
0

尝试将连接器添加到构建路径作为外部 jar 或,创建一个 lib 文件夹并将连接器 jar 放入其中,然后Add Library到您的构建路径并提供该连接器 lib 文件夹路径。

于 2013-07-07T17:12:09.263 回答
0
Configuration configuration = new Configuration();
configuration.configure();
ServiceRegistryBuilder serviceRegistryBuilder = new ServiceRegistryBuilder().applySettings(configuration.getProperties());
sessionFactory = configuration.buildSessionFactory(serviceRegistryBuilder.buildServiceRegistry());
// end of static block

public static SessionFactory getSessionFactory() {
    return sessionFactory;
}
于 2013-07-07T18:05:31.813 回答