GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Ajuda - No Persistence provider for EntityManager named

java
hibernate
jpa
Tags: #<Tag:0x00007f6d30e4af58> #<Tag:0x00007f6d30e4ae18> #<Tag:0x00007f6d30e4acd8>

#1

Olá ,sou iniciante em programação ,e estou seguindo umas video-aulas no youttube.
Estou passando por uma dificuldade ,que é para fazer a persistência dos dados,eu criei o Banco no MYSQL(Workbench) e o projeto não está criando as tabelas no BD ,estou usando o Maven,Hibernate com JPA.

Estou seguindo esta video-aula…
Java Web Frameworks Aula 01

Erro que aparece no console

Exception in thread “main” javax.persistence.PersistenceException: No Persistence provider for EntityManager named fabricaweb2
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:61)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
at br.com.ricardo.TestHibernate.main(TestHibernate.java:15)
Como esta a estrutura do meu projeto

Meu pom -

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>br.com.ricardo</groupId>
  <artifactId>laboratorio</artifactId>
  <version>1.1.1-SNAPSHOT</version>
  <packaging>war</packaging>
  
 <properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
		<!-- Nome do projeto empacotado -->
		<finalName>laboratorio</finalName>

		<!-- Plugins -->
		<plugins>
			<!-- Compilador -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.6.1</version>				
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<!-- Dependências -->
	<dependencies>
		<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>5.2.9.Final</version>
		</dependency>
		
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
			<version>5.2.9.Final</version>
		</dependency>
		
		<!-- https://mvnrepository.com/artifact/org.hibernate.common/hibernate-commons-annotations -->
<dependency>
    <groupId>org.hibernate.common</groupId>
    <artifactId>hibernate-commons-annotations</artifactId>
    <version>4.0.4.Final</version>
</dependency>
		
		
	<dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>6.0.6</version>      
    </dependency>
    
    <dependency>
			<groupId>org.hibernate.javax.persistence</groupId>
			<artifactId>hibernate-jpa-2.0-api</artifactId>
			<version>1.0.1.Final</version>
	</dependency>	
	
 <dependency>
    <groupId>javax.transaction</groupId>
    <artifactId>jta</artifactId>
    <version>1.1</version>
</dependency>
 <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-jpamodelgen</artifactId>
    <version>5.2.9.Final</version>
   </dependency>
   
  
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.8.0-alpha0</version>
</dependency>

   <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.8.0-alpha0</version>
</dependency>
	
    
    
</dependencies>

  
  
</project> 

E meu persistence.xml

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
     http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
	version="2.0">

	<persistence-unit name="laboratorio">

		<!-- provedor/implementacao do JPA -->
		<provider>org.hibernate.ejb.HibernatePersistence</provider>

		<!-- entidade mapeada -->
		<class>br.com.ricardo.entidade</class>

		<properties>
			<!-- dados da conexao -->
			<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
			<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/fabricaweb2db" />
			<property name="javax.persistence.jdbc.user" value="root" />
			<property name="javax.persistence.jdbc.password" value="" />

			<!-- propriedades do hibernate -->
			<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
			<property name="hibernate.show_sql" value="true" />
			<property name="hibernate.format_sql" value="true" />

			<!-- atualiza o banco, gera as tabelas se for preciso -->
			<property name="hibernate.hbm2ddl.auto" value="update" />

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

Minha classe de teste

package br.com.ricardo;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import br.com.ricardo.entidade.Usuario;



public class TestHibernate {

	public static void main(String[] args) {
		// Fabrica de EntityManager
				EntityManagerFactory emf = Persistence.createEntityManagerFactory("laboratorio");

				// Gerenciador de Entidades
				EntityManager em = emf.createEntityManager();

				// Criando o objeto a ser persistido
				Usuario user = new Usuario();
				user.setNome("Gambiarra");
				user.setLogin("R");
				user.setSenha("123456");

				// inicia a transa��o
				em.getTransaction().begin();
				// Prepara a instru��o SQL
				em.persist(user);

				// Grava no banco//Fazendo a persistencia no banco
				em.getTransaction().commit();

			}


	}

O nome do banco que criei foi fabricaweb2db

Gostaria muito da ajuda de vocês…


#2

Ve se ajuda no seu problema.


#3

Daniel,obrigado pela dica,observei tudo neste tópico que você indicou alterei o meu persistence,como orientado e também no pom removi o Hibernate-EntityManager do pom e só deixei o core.
E olhando as lib’s no meu projeto ,no mavem existe também o jar Hibernate - jpa e mesmo assim ainda continua

a mesma resposta de exibição no console…


#4

Vamos fazer o seguinte .

no seu Pom.xml somente de a dependencia do Hibernate core e o driver o mysql

pois o hibernate core ira baixar os dependencias para ele, e não ha necessidade de indicar alguns que voce colocou, pode se que esteja havendo algum conflito .
e tenta rodar o projeto.


#5

Deixo ou tiro tbm ??

<plugins>
			<!-- Compilador -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.6.1</version>				
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>

Porque de resto já tirei e continua a mesma msg… estou com muitas dificuldades ,poxa na configuração


#6

Cara, a mensagem de erro se refere a um entity manager com nome fabricaweb…
Já tentou procurar por essa expressão, dentro do teu projeto?