No Persistence provider for EntityManager

4 respostas
ynaue

Socorro!!!!!!!!!!!

Estou tentando usar Java Persistence.

Criei meu persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0"
 xsi:SchemaLocation="http://java.sun.com/xml/ns/persistence
 http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    
    
<persistence-unit name="persistencia" >
 <provider>
   oracle.toplink.essentials.PersistenceProvider
 </provider>
    
<class>vo.privilegio</class>

<properties>
    <property name="toplink.jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="toplink.jdbc.url" value="jdbc:oracle:lalalalaalal"/>
    <property name="toplink.jdbc.user" value="lala"/>
    <property name="toplink.jdbc.password" value="lalala"/>
</properties>

</persistence-unit>

</persistence>

E coloquei no META-INF

Criei o VO:

@Entity
public class privilegio implements java.io.Serializable {
     @Id
     @SequenceGenerator(name="PRIVILEGIO_ID")
     @GeneratedValue(generator="PRIVILEGIO_ID") 
     private int Privilegio_Id;
     
     @Column
     private String Descricao;
          
    ... gets e sets

Criei meu DAO:

public class privilegio_dao {
    
    public privilegio_dao() { }  
    public privilegio localiza(int id) throws PersistenceException
    {  
           try{
               EntityManagerFactory factory =Persistence.createEntityManagerFactory("persistencia");
               EntityManager manager = factory.createEntityManager();     
                privilegio p= manager.find(privilegio.class,id);
                factory.close();
                manager.close();  
                return p;
        }
        catch(PersistenceException pe)
        { 
            pe.printStackTrace(); 
            return null;
            
        }  
    }
}

Qdo passa por esse comando no DAO
EntityManagerFactory factory =Persistence.createEntityManagerFactory("[color=darkred]persistencia[/color]");

Da o seguinte erro:
No Persistence provider for EntityManager named persistencia

Esse nome (persistencia) q ele se refere não é omesmo que eu dou no XML????

Algume pode me ajudar?????????? :roll:

4 Respostas

persiaribeiro

Se erro pode ser um problema de diretório.
Vefirique se o diretório que esá sua aplicação não possui um nome muito extenso ou espaços no nome de cada diretório.
Quando esse erro ocorreu comigo foi esse o poblema, foi só mover para c:/Projetos (por exemplo) que deu certo. :wink:

R

resolveu meu?

J

vlw pela ajuda, resolveu copiando o projeto pro c:

berdam

olha eu estava com o mesmo problema, utilizo o netbeans 5.5.1, removi todos os arquivos que estavam na pasta META-INF, no meu netbeans pelo menos ficava umas para de dbschema nessa pasta, eu removi e coloquei o persistence.xml ali e funcionou perfeitamente.

Criado 21 de setembro de 2006
Ultima resposta 19 de mai. de 2008
Respostas 4
Participantes 5