title: NoSuchMethodError when executing HQL and C3P0 is enabled
body: <p>Hibernate works great for me until I attempt to include C3P0, at which point I run into issues. I've added these to my pom.xml:</p>
  
  <pre><code>    &lt;dependency&gt;
          &lt;groupId&gt;org.hibernate&lt;/groupId&gt;
          &lt;artifactId&gt;hibernate-c3p0&lt;/artifactId&gt;
          &lt;version&gt;5.0.7.Final&lt;/version&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;com.mchange&lt;/groupId&gt;
          &lt;artifactId&gt;c3p0&lt;/artifactId&gt;
          &lt;version&gt;0.9.5.2&lt;/version&gt;
      &lt;/dependency&gt;
  </code></pre>
  
  <p>And these to my hibernate.cfg.xml:</p>
  
  <pre><code>&lt;property name="hibernate.c3p0.max_statements"&gt;0&lt;/property&gt;
  &lt;property name="hibernate.c3p0.timeout"&gt;100&lt;/property&gt;
  &lt;property name="hibernate.c3p0.idle_test_period"&gt;100&lt;/property&gt;
  &lt;property name="hibernate.c3p0.min_size"&gt;10&lt;/property&gt;
  &lt;property name="hibernate.connection.provider_class"&gt;org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider&lt;/property&gt;
  &lt;property name="hibernate.c3p0.acquire_increment"&gt;1&lt;/property&gt;
  &lt;property name="hibernate.c3p0.max_size"&gt;100&lt;/property&gt;
  </code></pre>
  
  <p>When I do this, and attempt to execute some HQL using the Hibernate Tools from JBoss, I get the following exception:</p>
  
  <pre><code>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)
  </code></pre>
  
  <p>The code runs correctly at runtime, and seems to be respecting my C3P0 settings.</p>