No Persistence provider for EntityManager

1 resposta
E

Olá galera,

tenho um projeto em que coloquei as minhas classes de entidades, serviços e persistencia.
Criei ass classes de teste para todos os meus serviços e todos funcionam perfeitamente. Porém,
quando eu importo o jar deste projeto, com todas as entidades, serviços… dentro deu um novo
projeto web e utilizo as classes do serviço, me gera um erro dizendo que não conseguiu encontrar
o persistence provider.

Já inserir no classpath do projeto web, os jar do Toplink. Tentei também colocá-los dentro da pasta
lib do projeto web, mas também não deu certo. Testei também colocando o jar do projeto dentro
da pasta lib do projeto web e nada, nenhum persistence provider é encontrado.

Este é o stacktrace do erro.

javax.persistence.PersistenceException: No Persistence provider for EntityManager named persistence-unit:  The following providers:
oracle.toplink.essentials.PersistenceProvider
oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider
Returned null to createEntityManagerFactory.

	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:154)
	at com.kesch.avlon.util.JPARecurso.getEMF(JPARecurso.java:16)
	at com.kesch.avlon.dao.DAOGenerico.setEm(DAOGenerico.java:26)
	at com.kesch.avlon.dao.DAOGenerico.<init>(DAOGenerico.java:18)
	at com.kesch.avlon.services.impl.LinhaServiceImpl.<init>(LinhaServiceImpl.java:16)
	at com.kesch.avlon.controladores.LinhaServiceBean.<init>(LinhaServiceBean.java:21)

O codigo das classes envolvidas no stacktrace: JPARecurso, DAOGenerico, LinhaServiceImpl, LinhaServiceBean estão em anexo
juntamente com o arquivo persistence.xml.

Dêem uma olhada e vejam se podem me ajudar.
Ok, agradecido!!

1 Resposta

D

Tenta fazer uma injeção:

@PersistContext
EntityManager em;

Se não dar certo cria um pasta chamada META-INF e coloca seu persist.xml lá dentro, deu certo comigo uma vez.

Criado 22 de janeiro de 2009
Ultima resposta 22 de jan. de 2009
Respostas 1
Participantes 2