2012-07-28 13 views
5

Ich hätte dies nicht gepostet, wenn ich nicht wirklich frustriert war. Ich versuche, C3P0 mit Hibernate 4.1.1 in einer sehr einfachen Anwendung zu konfigurieren, aber ich bekomme eine Ausnahme der Klasse nicht gefunden. Ich habe eine C3P0-spezifische JAR-Datei in meinen Klassenpfad eingefügt. Hibernate-c3p0-3.5.2-Final.jarHibernate 4 - Konfiguration C3P0

hibernate.properties:

hibernate.connection.provider_class=org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider 
hibernate.c3p0.acquire_increment=1 
hibernate.c3p0.idle_test_period=180 
hibernate.c3p0.max_size=60 
hibernate.c3p0.max_statements=0 
hibernate.c3p0.min_size=10 

Stacktrace:

28 Jul, 2012 9:23:08 PM org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator instantiateExplicitConnectionProvider 
INFO: HHH000130: Instantiating explicit connection provider: org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider 
Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.service.jdbc.connections.spi.ConnectionProvider] 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:186) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:150) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) 
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:223) 
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:89) 
    at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) 
    at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71) 
    at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2277) 
    at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2273) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1742) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1782) 
    at eko.test.hibernate.Hibernate4Test.main(Hibernate4Test.java:17) 
Caused by: org.hibernate.HibernateException: Could not instantiate connection provider [org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider] 
    at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:192) 
    at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:114) 
    at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:54) 
    at org.hibernate.service.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:69) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:176) 
    ... 13 more 
Caused by: org.hibernate.service.classloading.spi.ClassLoadingException: Unable to load class [org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider] 
    at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:141) 
    at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:189) 
    ... 17 more 
Caused by: java.lang.ClassNotFoundException: Could not load requested class : org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider 
    at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl$1.findClass(ClassLoaderServiceImpl.java:99) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:138) 
    ... 18 more 

Antwort

3

Die JAR-Datei Sie enthalten hat die Version 3.5.2-Finale, und enthält nicht die Klasse, die Sie konfiguriert haben. Warum verwenden Sie nicht den, der die Version 4.1.1 hat (da dies die Version von Hibernate ist, die Sie verwenden), und die die erforderliche Klasse enthält: http://grepcode.com/snapshot/repository.jboss.org/nexus/content/repositories/releases/org.hibernate/hibernate-c3p0/4.1.1.Final/

+0

Vielen Dank. Ich bin mir nicht sicher, warum diese JAR-Datei nicht im 4.1.1-Hibernate-Bundle enthalten ist, das ich von der Website heruntergeladen habe. – VJune

+0

Ich habe mir nur die Download-Pakete angeschaut und sie enthalten alle das Hibernate-c3p0-Jar. Nicht sicher, was "Winterschlafbündel" Sie betrachten ... –