2016-02-03 11 views
1

Hibernate отлично подходит для меня, пока я не попытаюсь включить C3P0, после чего я столкнулся с проблемами. Я добавил это в моем pom.xml:NoSuchMethodError при выполнении HQL и C3P0 включен

<dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-c3p0</artifactId> 
     <version>5.0.7.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>com.mchange</groupId> 
     <artifactId>c3p0</artifactId> 
     <version>0.9.5.2</version> 
    </dependency> 

И это на мой hibernate.cfg.xml:

<property name="hibernate.c3p0.max_statements">0</property> 
<property name="hibernate.c3p0.timeout">100</property> 
<property name="hibernate.c3p0.idle_test_period">100</property> 
<property name="hibernate.c3p0.min_size">10</property> 
<property name="hibernate.connection.provider_class">org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider</property> 
<property name="hibernate.c3p0.acquire_increment">1</property> 
<property name="hibernate.c3p0.max_size">100</property> 

Когда я делаю это, и попытаться выполнить некоторые HQL используя инструменты Hibernate от JBoss, я получаю следующее исключение:

java.lang.NoSuchMethodError: org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.extractIsolation(Ljava/util/Map;)Ljava/lang/Integer; 
at org.hibernate.c3p0.internal.C3P0ConnectionProvider.configure(C3P0ConnectionProvider.java:200) 
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) 
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) 
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) 
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260) 
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94) 
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) 
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) 
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) 
at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887) 
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845) 
at org.jboss.tools.hibernate.runtime.v_4_3.internal.ConfigurationFacadeImpl.buildTargetSessionFactory(ConfigurationFacadeImpl.java:24) 
at org.jboss.tools.hibernate.runtime.common.AbstractConfigurationFacade.buildSessionFactory(AbstractConfigurationFacade.java:169) 
at org.hibernate.console.ConsoleConfiguration$5.execute(ConsoleConfiguration.java:285) 
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63) 
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:108) 
at org.hibernate.console.ConsoleConfiguration.buildSessionFactory(ConsoleConfiguration.java:280) 
at org.hibernate.eclipse.console.actions.ExecuteQueryAction.execute(ExecuteQueryAction.java:81) 
at org.hibernate.eclipse.console.actions.ExecuteQueryAction.run(ExecuteQueryAction.java:55) 
at org.eclipse.jface.action.Action.runWithEvent(Action.java:473) 
at org.hibernate.eclipse.console.actions.ExecuteQueryAction.runWithEvent(ExecuteQueryAction.java:59) 
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595) 
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511) 
at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:462) 
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113) 
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769) 
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127) 
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) 
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018) 
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156) 
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654) 
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) 
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598) 
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) 
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139) 
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669) 
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608) 
at org.eclipse.equinox.launcher.Main.run(Main.java:1515) 

код работает корректно во время выполнения, и, кажется, уважая мои настройки C3P0.

+0

Вы когда-нибудь находили разрешение на это? Бег в то же самое с Хикари. (Другой менеджер пула, такой как C3P0) – Siddhartha

ответ

0

c3p0 0.9.2.x является старым и не поддерживает методы JDBC4.

Обновите текущую версию c3p0-0.9.5.2.

+0

Пробовал это. Нет разницы. –