Bug na configuração JPA 2.0 + Hibernate - Netbeans [RESOLVIDO]

Galera, necessito de ajuda com a configuração do JPA 2.0 + Hibernate no Eclipse.
Primeiramente, gostaria de avisar que já revirei este fórum inúmeras vezes, encontrei diversos posts iguais ao meu, porém não conseguir resolver.

1 - Criei uma Biblioteca HIbernate com as libs adicionando ela no projeto.
2 - Driver do MySQL adicionado no projeto.
3 - Criei a pasta META-INF e adicionei o arquivo persistence.xml.

Classes e arquivo de unidade de persistência abaixo:

Segue o erro:

run:
jan 18, 2017 7:28:23 PM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.2.Final}
jan 18, 2017 7:28:23 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.2.21.Final}
jan 18, 2017 7:28:23 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
jan 18, 2017 7:28:23 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
javax.persistence.PersistenceException: No Persistence provider for EntityManager named persistence
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
	at entity.entityFuncionarioDAO.<init>(entityFuncionarioDAO.java:22)
	at entity.entityPersistirFuncionario.main(entityPersistirFuncionario.java:20)
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

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="persistence" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.jpa.HibernatePersistence</provider>
    <class>entity.entityFuncionario</class>
    <properties>
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/fj21"/>
      <property name="javax.persistence.jdbc.user" value="root"/>
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
      <property name="javax.persistence.jdbc.password" value="gabe@@123"/>
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
      <property name="hibernate.hbm2ddl.auto" value="update"/>
      
      <property name="hibernate.show_sql" value="true"/>
      <property name="hibernate.format_sql" value="false"/>
      <property name="hibernate.use_sql_comments" value="false"/>
    </properties>
  </persistence-unit>
</persistence>

Classe entityFuncionario:

@Entity(name="funcionario")
public class entityFuncionario {
    @Id @GeneratedValue
	private int id;
	
	@Column(length=40)
	private String nome;
	
	@Column(length=10)
	private int idade;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

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

	public int getIdade() {
		return idade;
	}

	public void setIdade(int idade) {
		this.idade = idade;
	}
}

Classe entityFuncionarioDAO:

public class entityFuncionarioDAO implements Serializable {
    EntityManager em;
	EntityManagerFactory emf;
	
	public entityFuncionarioDAO(){
		emf = Persistence.createEntityManagerFactory("persistence");
		em = emf.createEntityManager();
	}
	
	public void salvar(entityFuncionario f){
		em.getTransaction().begin();
		em.merge(f);
		em.getTransaction().commit();
		emf.close();
	}
}

Classe Teste
public class entityPersistirFuncionario {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
         try{
                entityFuncionarioDAO fDAO = new entityFuncionarioDAO();
		entityFuncionario f = new entityFuncionario();
		f.setNome("Gabriel Melo Costa");
		f.setIdade(20);
		
		fDAO.salvar(f);
            }catch(Exception ex){
                ex.printStackTrace();
            }
    }
    
}

Troque isso :

por isso :

<provider>org.hibernate.ejb.HibernatePersistence</provider>

e teste.

olá @Daniel_Dias, realizei as alterações e continua com o mesmo erro. O resto está correto?

Poste o print das libs do seu projeto .

save (35,7 KB)

aparentemente está certo os jars.

não sei se isso tem alguma influencia :

<persistence-unit name="persistence"

mude o nome para outra coisa e aqui tambem :

Persistence.createEntityManagerFactory("persistence");

de uma olhada nesse projeto também, pode ser que te ajudar no hibernate alguma configuração .

persistencia

OK, @Daniel_Dias troquei o nome da unidade de persistência e fiz umas alterações e funcionou.

Ollhando a aba design no arquivo de persistência, troquei:

  • Biblioteca de persistência EclipseLink (2.1) pela Hibernate (2.0).
  • Estratégia de geração de tabela que estava marcado nenhum para criar.
  • LImpar e Construir o projeto.

Executei o projeto e foi criada a tabela e realizado o insert.

Valeu @Daniel_Dias

Que maravilha, o netbeans tem essas coisas loucas mesmo.

{ },s.

1 curtida