Eclipse com JPA

Estou montando um projeto usando eclise / mysql / jpa. Anteriormente utilizei o toplink da oracle e funcionou. Agora tenho que montar um projeto, mas utilizando o hibernate, entretanto não está funcionando ele exibe uma mensagem como se não achasse o persiste.xml. Coloquei esse arquivo dentro na pasta “META-INF” em src (mesma estrutura que havia funcionado com o toplink). Alguém poderia me ajudar? Ele da o seguinte erro:

javax.persistence.PersistenceException: No Persistence provider for EntityManager named pu1
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java :33)
at br.com.jpa.persistence.BaseDAO.(BaseDAO.java:17)
at br.com.jpa.client.Negocio.main (Negocio.java:15)

  <?xml version="1.0" encoding="UTF-8" ?> 
- <persistence>
- <persistence-unit name="pu1">
  <provider>org.hibernate.ejb.HibernatePersistence</provider> 
  <class>br.com.jpa.model.Cliente</class> 
- <properties>
  <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/sisracao" /> 
  <property name="hibernate.dialect" value="org.hibernate.dialect.MYSQLDialect" /> 
  <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" /> 
  <property name="hibernate.connection.username" value="root" /> 
  <property name="hibernate.connection.password" value="" /> 
  <property name="hibernate.hbm2ddl.auto" value="update" /> 
  </properties>
  </persistence-unit>
  </persistence>

Você tá usando Spring?

Olá rodrigo,

Desde já agradeço, eu não estou utilizando spring não.

Humm, entendi.
É que eu tava com um problema parecido (hibernate + JPA) porem resolvi com as configurações do Spring.

Talvez essa duvida thread possa te ajudar.
http://forum.hibernate.org/viewtopic.php?t=968997&sid=ff336d2689297342b7896515e2ad5d61

Boa sorte! :slight_smile:

[]´s

Rodrigo,

Eu acrescentei os jars, embora esteja dando o mesmo erro:

javax.persistence.PersistenceException: No Persistence provider for EntityManager named pu1
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
at br.com.jpa.persistence.BaseDAO.(BaseDAO.java:15)
at br.com.jpa.client.Negocio.main(Negocio.java:15)

ninguém tem idéia do que pode ser, já estou ha dias e não consigo resolver isso.

A classe Negocio:

package br.com.jpa.client;

import br.com.jpa.model.Cliente;
import br.com.jpa.persistence.BaseDAO;

public class Negocio {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		try{					
			BaseDAO<Cliente> dao = new BaseDAO<Cliente>();
					
			//instancio meus objetos na classe cliente
			Cliente cli = new Cliente();
			cli.setNome("Everton");
			cli.setTelefone("7777-8888");
			cli.setCelular("8888-9999");
			cli.setComercial("7777-7777");
			cli.setCep("10100-112");
			cli.setEndereco("Rua do ton");
			cli.setNumero(777);
			cli.setComplemento("nenhum");
			
			//persisto meu objeto no banco de dados
			dao.create(cli);
	
			}catch(Exception ex){
				ex.printStackTrace();
			}
			
	}

}

A classe BaseDAO onde irá persistir no banco:

package br.com.jpa.persistence;

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



public class BaseDAO<T> {

	private static EntityManagerFactory emf;
	private EntityManager em;
	private EntityTransaction tx;

	public BaseDAO() {
		System.out.println("aki\n");
		emf = Persistence.createEntityManagerFactory("pu1");		
		em = emf.createEntityManager();		
		tx = em.getTransaction();	
	}

	public boolean create(T obj) {			
		em.getTransaction();		
		try {			
			tx.begin();
			em.persist(obj);
			em.getTransaction();
			tx.commit();
			em.close();
			return true;
		} catch (Exception e) {
			e.printStackTrace();
			em.getTransaction().rollback();
			return false;
		}
	}
}

Alguém poderia me ajudar, estou sem alternativas, desesperado.

Ninguém tem uma dica? Eu já coloquei as bibliotecas do entity manager, do hibernate e do annotations, embora continue com o mesmo erro? Alguém nunca pegou algo parecido.

coloca o hibernate-entitymanager.jar dentro do lib da tua aplicação, vai em project - properties - java build path

Na aba librarys, vc vai em add external jar e seleciona o hibernate-entitymanager.jar no seu lib.

Talvez ele reclame de outros, é só fazer o mesmo.

Abraços,

Carlos MacLeod