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>
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!
[]´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