Por favor me ajudem. Estou iniciando com o jpa. Esta ocorrendo o seguinte erro:
Exception in thread “main” javax.persistence.PersistenceException: No persistence providers available for “openjpa” after trying the following discovered implementations: NONE
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:182)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:72)
at com.swe.cliente.model.Teste.lista(Teste.java:19)
at com.swe.cliente.model.Teste.main(Teste.java:14)
Minha classe teste:
package com.swe.cliente.model;
import java.util.List;
import java.util.Properties;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
public class Teste {
public static void main(String[] args){
lista();
}
public static void lista(){
Properties props = new Properties();
EntityManagerFactory factory = Persistence.createEntityManagerFactory("openjpa");
EntityManager em = factory.createEntityManager();
em.getTransaction().begin();
Query query = em.createQuery("select codigo, nome from swe.clientes");
List results = query.getResultList();
for (Object res : results){
Clientes cliente = (Clientes)res;
System.out.println(cliente.toString());
}
em.close();
}
}
Meu persistence.xml esta na pasta WebContent\META-INF
<?xml version="1.0" encoding="UTF-8"?> org.apache.openjpa.persistence.PersistenceProviderImpl com.swe.cliente.model.ClientesMeu pojo:
package com.swe.cliente.model;
import java.io.Serializable;
import java.sql.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Clientes implements Serializable{
@Id @GeneratedValue
@Column (name="codigo")
private int codigo;
@Column (name="nome")
private String nome;
@Column (name="dt_cadastro")
private Date dataCadastro;
public Clientes(){
}
public Clientes(String nome){
this.nome = nome;
this.dataCadastro = new Date(System.currentTimeMillis());
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Date getDataCadastro() {
return dataCadastro;
}
public void setDataCadastro(Date dataCadastro) {
this.dataCadastro = dataCadastro;
}
@Override
public String toString(){
return "Nome "+nome+" Data Cadastro "+dataCadastro.toString();
}
}
Elenilson