JSF + JPA - Erro no JPA - [FINALMENTE RESOLVIDO!]

4 respostas
anderson.bonavides

Pessoal desculpa vir postar aki com o mesmo erro acho q a terceira vez. Tenho 2 requisitos do meu projeto para ser entregue amanhã as 13:00 e infelizmente nem o primeiro está funcionando que seria simplesmente fazer um cadastro contendo poucas informações.

O problema é o seguinte: Tenho que cadastrar um usuario e um projeto mas infelizmente não estou conseguindo. O problema pelo visto não é no JSF mas quando chega no JPA aparece o seguinte erro: "Não vou postar ele todo."
Caused by: java.lang.NullPointerException
	at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createEntityManagerFactory(EntityManagerFactoryProvider.java:120)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:37)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:27)
	at br.com.jampasoftwaredevelopment.persistence.UsuarioDAO.<init>(UsuarioDAO.java:14)
	at br.com.jampasoftwaredevelopment.business.UsuarioBusiness.inserirUsuario(UsuarioBusiness.java:10)
	at br.com.jampasoftwaredevelopment.view.UsuarioMB.cadastrarUsuario(UsuarioMB.java:128)
	.
	.
	.

Prestem atenção na linha 5, 6 e 7.

E quando o código chega nessa linha o erro acontece:

public class UsuarioDAO {
	private EntityManagerFactory factory = null;
	private EntityManager manager = null;

	public UsuarioDAO() {
		factory = Persistence.createEntityManagerFactory("JampaSoftwareDevelopment"); //ERRO AKI
		manager = factory.createEntityManager();
	}

	public void inserirUsuario(Usuario usuario) {
		EntityTransaction transaction = manager.getTransaction();
		try {
			transaction.begin();
			manager.persist(usuario);
			transaction.commit();
		} catch (Exception e) {
			transaction.rollback();
			System.err.println("Erro: " + e.getMessage());
		} finally {
			manager.close();
		}
	}

}

Pessoal eu tenho esse mesmo exemplo de JPA em um projeto separado que funciona muito bem. Desta mesma forma não sei pq não funciona no meu projeto. Já não sei mais oq fazer.

:(

Alguem poderia me ajudar de verdade?

Estou precisando muito dessa força.

4 Respostas

joede.fadel

vc verificou se a sua unidade de persistencia ta configurada corretamete??

anderson.bonavides

Acredito que sim mas vou postar aki.

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.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_1_0.xsd">
  
  <persistence-unit name="JampaSoftwareDevelopment" transaction-type="RESOURCE_LOCAL">
    <provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider>
    <class>br.com.jampasoftwaredevelopment.model.Usuario</class>
    <properties>
      <property name="toplink.logging.level" value="INFO"/>
      <property name="toplink.jdbc.url" value="jdbc:mysql://127.0.0.1:3306/jampa"/>
      <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
      <property name="toplink.jdbc.user" value="root"/>
      <property name="toplink.jdbc.password" value="And141829"/>
      <property name="toplink.ddl-generation" value="create-tables"/> 
    </properties>
  </persistence-unit>
  
</persistence>
anderson.bonavides

Pessoal tava vendo esse post aki bem antigo, mesmo fazendo as alterações dele meu projeto ainda não funciona.

http://www.guj.com.br/posts/list/46343.java

Alguem com mais experiencia pode dar algumas dicas?

anderson.bonavides

joede.fadel

Felizmente já consegui resolver o problema. Gostaria de agradecer a você e a todos os outros que me ajudaram de alguma forma.

O problema é a pasta WEB-INF que estava localizada no lugar errado fazendo com que o arquivo persistence.xml não se tornasse visível.

Grato a todos pela força.

Criado 9 de maio de 2008
Ultima resposta 10 de mai. de 2008
Respostas 4
Participantes 2