users@glassfish.java.net

Re: No Persistence provider for EntityManager!!!!

From: <glassfish_at_javadesktop.org>
Date: Fri, 12 Jun 2009 05:51:37 PDT

Hello,

Marina is refering to a jar such as the TopLink Essentials jar that you must have on the classpath. In order to use JPA, you must have a JPA provider that implements the specification for you.

As the exception describes, it can find two providers on the classpath
  oracle.toplink.essentials.PersistenceProvider and
  oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider
Which are really both from a TopLink Essentials jar. The reason why it won't automatically work for you is that you must specify which provider you want to use in the persistence.xml - this allows containers and users to have multiple providers on the classpath.

Try adding <provider>oracle.toplink.essentials.PersistenceProvider</provider> to your persistence.xml.

Best Regards,
Chris
[Message sent by forum member 'chris_delahunt' (chris_delahunt)]

http://forums.java.net/jive/thread.jspa?messageID=350871