[code]
Estou tentando criar uma pequena aplicação com JSF e JPA e estou com o seguinte erro:
INFO: HHH000318: Could not find any META-INF/persistence.xml file in the classpath
Exception in thread “main” java.lang.ExceptionInInitializerError
at br.com.entities.PersistidorDeAutomovel.main(PersistidorDeAutomovel.java:15)
Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named default
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
Obs.: Se este números a frente do arquivo Persistence.java são as linhas do arquivo, então tem duas coisas engraçadas:
Meu arquivo não chega a ter esses números de linha, e tb seu nome não está com a primeira letra “p” em maiúsculo.
at br.com.entitymanager.JPAUtil.(JPAUtil.java:10)
… 1 more
Já procurei muito sobre este erro e não consegui solucionar.
O que mais indicam é que o arquivo persistence.xml deve estar na pasta META-INF.
Outras respostas são paraquem está usando Eclipse, não é o meu caso eu uso NetBeans com MySQL.
Alguém pode ajudar?
Eis meus códigos:
persistente.xml
<?xml version="1.0" encoding="UTF-8"?>
br.com.entities.Automovel
web.xml
<?xml version="1.0" encoding="UTF-8"?> javax.faces.PROJECT_STAGE Development Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet *.faces 30 index.xhtmlAutomovel.java
import java.io.Serializable;
import javax.persistence.*;
@Entity
public class Automovel implements Serializable {
@Id
@GeneratedValue(generator="id_automovel",strategy=GenerationType.SEQUENCE)
@Column(name="id")
private Long id;
private Integer anoFabricacao;
private String modelo;
private String observacoes;
public Automovel(){
}
public Integer getAnoFabricacao() {
return anoFabricacao;
}
public void setAnoFabricacao(Integer anoFabricacao) {
this.anoFabricacao = anoFabricacao;
}
public String getModelo() {
return modelo;
}
public void setModelo(String modelo) {
this.modelo = modelo;
}
public String getObservacoes() {
return observacoes;
}
public void setObservacoes(String observacoes) {
this.observacoes = observacoes;
}
}
PersistidorDeAutomovel
package br.com.entities;
import br.com.entitymanager.JPAUtil;
import br.com.entities.Automovel;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
public class PersistidorDeAutomovel {
public static void main(String[] args) {
EntityManager em = JPAUtil.getEntityManager();
Automovel auto = new Automovel();
auto.setAnoFabricacao(2010);
auto.setModelo("Ferrari");
auto.setObservacoes("Nunca foi batido");
EntityTransaction tx = em.getTransaction();
tx.begin();
em.persist(auto);
tx.commit();
em.close();
}
}
JPAUtil
package br.com.entitymanager;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public class JPAUtil {
private static final EntityManagerFactory emf = Persistence.createEntityManagerFactory(“default”);
public static EntityManager getEntityManager() {
return emf.createEntityManager();
}
}