[hibernate-issues] [Hibernate-JIRA] Created: (HHH-7290) The JDBC Driver will not be loaded in some case

chiwei (JIRA) noreply at atlassian.com
Tue May 1 02:53:49 EDT 2012


The JDBC Driver will not be loaded in some case
-----------------------------------------------

                 Key: HHH-7290
                 URL: https://hibernate.onjira.com/browse/HHH-7290
             Project: Hibernate ORM
          Issue Type: Bug
          Components: core
    Affects Versions: 4.1.2
         Environment: hibernate 4.1.2
tomcat 7.0.27
mysql-connector 5.1.19
            Reporter: chiwei



Before v4.1.2,The method "org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure" use "Class.forName" load JDBC Driver.
The version 4.1.2, this method use "serviceRegistry.getService(ClassLoaderService.class)" get a instance of org.hibernate.service.classloading.internal.ClassLoaderServiceImpl, and call method "classForName" to load JDBC Driver.

The method "classForName" use classloader.loadClass load JDBC Driver. There are some different to "Class.forName".
"classForName" only load class to memory.
"Class.forName" load class to memory and call the class's static block.

The JDBC Driver must be register itself to JDBC's DriverManager at the static block. because "classForName" not call static block, JDBC Driver will not register.

JDBC4.0 has SPM, so sometimes JDBC can find and register driver automatic, but the SPM seek class is different from classloader, so classloader can fina a class, SPM maybe miss.

If SPM can not find the driver, SPM is not work, and hibernate will not get connection.
e.g. the JDBC Driver jar put to <tomcat>\lib, SPM will not find the driver(default config of tomcat), so the driver not register. the "classForName" can find and load the driver, but the driver not register too, hibernate can not get a connection.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the hibernate-issues mailing list