Arthur Arthur - 2 months ago 15x
Java Question

Hibernate - ClassNotFoundException: com.mysql.jdbc.Driver

I'm trying to retrieve data from a MySQL database through Hibernate, but I'm stuck with this error:

Failed to create sessionFactory Specified JDBC Driver com.mysql.jdbc.Driver could not be loaded

java.lang.ClassNotFoundException: Could not load requested class : com.mysql.jdbc.Driver

I use a class called DAOFactory to get the hibernate session:

public class DAOFactory {

private static boolean isInstance = false;
private static SessionFactory sessionFactory;
private static ServiceRegistry serviceRegistry;
private static Session session;

private DAOFactory() throws ExceptionInInitializerError{
if( !isInstance ) {
try {
Configuration cfg = new Configuration().configure();
serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties())
sessionFactory = cfg.buildSessionFactory(serviceRegistry);
} catch (Throwable ex) {
System.err.println("Failed to create sessionFactory object."+ ex);
throw new ExceptionInInitializerError(ex);
session = sessionFactory.openSession();
isInstance = true ;

public static DAOFactory getInstance() {
return new DAOFactory() ;

public Session getSession() {
return session ;


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
<session-factory name="">
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/enigma</property>
<property name="connection.username">root</property>
<property name="connection.password"></property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.pool_size">1</property>
<property name="current_session_context_class">thread</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="show_sql">true</property>
<property name="">update</property>

is already in the classpath:


Does anyone see what I'm missing ?


Thanks to Reimeus for the answer. mysql-connector-java-5.1.26-bin.jar needs to be in the runtime classpath.

Run -> Run Configurations... -> Classpath -> Add external JAR.

Clean everything, try again, and the Exception is gone.