JPA + C3P0 com erro de compilação

0 respostas
fortescr

Estou tentando fazer pool de conexão com C3P0 e JPA mas está dando erro de compilação. O erro ocorre quando vai criar o entityManagerFactory. Se retirar a configuração do c3p0 funciona normalmente.

Meu persistence esta assim:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
	xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
	<persistence-unit name="sgt"
		transaction-type="RESOURCE_LOCAL">
		
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<mapping-file>META-INF/orm-queries.xml</mapping-file>

		<class>br.com.visaogeo.sgt2.attributes.dao.AttributesPersist</class>
		<class>br.com.visaogeo.sgt2.empresa.area.dao.AreaPersist</class>
		<class>br.com.visaogeo.sgt2.empresa.area.dao.AreaTipoPersist</class>
		<class>br.com.visaogeo.sgt2.empresa.entity.Empresa</class>
		<class>br.com.visaogeo.sgt2.layer.dao.LayerBasePersist</class>
		<class>br.com.visaogeo.sgt2.layer.dao.LayerVectorPersist</class>
		<class>br.com.visaogeo.sgt2.metacamada.dao.MetacamadaPersist</class>
		<class>br.com.visaogeo.sgt2.metaform.dao.MetaformPersist</class>
		<class>br.com.visaogeo.sgt2.perfil.dao.GroupPersist</class>
		<class>br.com.visaogeo.sgt2.perfil.dao.PerfilPersist</class>
		<class>br.com.visaogeo.sgt2.report.dao.ReportPersist</class>
		<class>br.com.visaogeo.sgt2.unum.entity.Propriedade</class>
		<class>br.com.visaogeo.sgt2.usuario.dao.UsuarioPersist</class>
		<class>br.com.visaogeo.sgt2.usuario.entity.UsuarioSGT2</class>
		<class>br.com.visaogeo.sgt2.auth.entity.Cookie</class>
		<class>br.com.visaogeo.sgt2.perfil.entity.Group</class>

		<properties>

			<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
			<property name="hibernate.connection.url" value="jdbc:postgresql://192.168.0.165:5432/teste_v_3_1_0" />
			<property name="hibernate.connection.username" value="dev" />
			<property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />
			<property name="hibernate.connection.password" value="dev@1" />
	
                        <property name="hibernate.connection.provider" value="org.hibernate.connection.C3P0ConnectionProvider" />
		        <property name="hibernate.c3p0.min_size" value="5" />
		        <property name="hibernate.c3p0.max_size" value="100" />
		        <property name="hibernate.c3p0.timeout" value="300" />
		        <property name="hibernate.c3p0.max_statements" value="50" />
		        <property name="hibernate.c3p0.idle_test_period" value="3000" />
		    
		   
            
	

		</properties>
	</persistence-unit>
</persistence>

O erro do console:

GRAVE: StandardWrapper.Throwable
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:89)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
	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:89)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
	at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850)
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:843)
	at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:399)
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:842)
	at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:73)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:54)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
	at br.com.visaogeo.sgt2.persist.EntityManagerSGT2Factory.getEntityManager(EntityManagerSGT2Factory.java:19)
	at br.com.visaogeo.sgt2.utils.EntityManagerServlet.init(EntityManagerServlet.java:21)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1231)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1031)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4923)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5215)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)

Meu pom.xml:

<!-- JPA -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
			<version>4.3.1.Final</version>
		</dependency>

		<dependency>
			<groupId>org.hibernate.javax.persistence</groupId>
			<artifactId>hibernate-jpa-2.1-api</artifactId>
			<version>1.0.0.Final</version>
		</dependency>

		<dependency>
			<groupId>javax.validation</groupId>
			<artifactId>validation-api</artifactId>
			<version>1.0.0.GA</version>
		</dependency>

		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-validator</artifactId>
			<version>5.2.2.Final</version>
		</dependency>

		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-c3p0</artifactId>
			<version>5.0.2.Final</version>
		</dependency>

		<dependency>
			<groupId>c3p0</groupId>
			<artifactId>c3p0</artifactId>
			<version>0.9.1.2</version>
		</dependency>

		<dependency>
			<groupId>com.mchange</groupId>
			<artifactId>mchange-commons-java</artifactId>
			<version>0.2.10</version>
		</dependency>

Desde já agradeço a ajuda

Criado 17 de novembro de 2015
Respostas 0
Participantes 1