No Persistence provider for EntityManager named Hello [RESOLVIDO]

4 respostas
L

Bom dia, estou estudando JPA com Hibernate usando o Oracle 11g, e estou tendo problemas na hora de testar, e preciso de ajuda.

Meu persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
	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">
	<persistence-unit name="Hello" transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<class>br.com.integrator.hello</class>
		
		<properties>
			<property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
			<property name="javax.persistence.jdbc.user" value="HR" />
			<property name="javax.persistence.jdbc.password" value="senha" />
			<property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver" />
			<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect" />
			<property name="hibernate.show_sql" value="true" />
			<property name="hibernate.format_sql" value="true" />

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

Criei tambem o JPA Entity

import java.io.Serializable;
import java.lang.Long;
import java.lang.String;
import javax.persistence.*;

@Entity
public class hello implements Serializable {

	@Id
	private Long id;
	private String nome;
	private static final long serialVersionUID = 1L;

	public hello() {
		super();
	}   
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}   
	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}
   
}

e quando executo minha classe de teste:

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

public class Teste {
	public static void main(String[] args) {
		EntityManagerFactory emf = Persistence.createEntityManagerFactory("Hello");
		EntityManager em = emf.createEntityManager();
		em.close();
		emf.close();
	}
}

aparece esse erro chato:

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named Hello
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
	at br.com.integrator.teste.Teste.main(Teste.java:9)

ainda não entendi aonde estou errando, como sou iniciante no assunto gostaria de ter o auxilio da galera.

4 Respostas

natanaelv

Veja se este post te ajuda
http://www.guj.com.br/java/284441-solucao–erro-no-persistence-provider-for-entitymanager-named

L

Eu vi esse posto e o local do persistence.xml esta correto, eu olhie esse link: http://uaihebert.com/?p=27 e mudei os libs, agora ta dando o seguinte erro:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

natanaelv

Se você colocar uma (e somente uma) dessas bibliotecas no seu classpath já resolve:
slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar.

L

Deu certo, obg pela ajuda

Criado 30 de julho de 2013
Ultima resposta 30 de jul. de 2013
Respostas 4
Participantes 2