[Resolvido] - Problema JPA persistence.xml

11 respostas
santanna106

Pessoal,

eu estou estudando JPA com hibernate e está ocorrendo o seguinte problema:

Eu criei o arquivo persistence.xml e coloquei o mesmo na pasta META-INF dentro da pasta src do meu projeto. Porém, quando eu tento inserir um registro a seguinte exceção é exibida.

Exception in thread “main” java.lang.ExceptionInInitializerError

at org.hibernate.cfg.Configuration.reset(Configuration.java:330)

at org.hibernate.cfg.Configuration.(Configuration.java:296)

at org.hibernate.cfg.Configuration.(Configuration.java:300)

at org.hibernate.cfg.AnnotationConfiguration.(AnnotationConfiguration.java:74)

at org.hibernate.ejb.Ejb3Configuration.(Ejb3Configuration.java:129)

at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:55)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:32)

at modelo.Main.main(Main.java:23)

Caused by: java.lang.NullPointerException

at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:167)

at org.hibernate.cfg.Environment.(Environment.java:608)

… 9 more

alguém tem alguma idéia do que pode estar acontecendo?

OBS: Estou usando o eclipse Helios e quanto eu deleto o arquivo persistence.xml da pasta META-INF o erro continua o mesmo. Parece que o método Persistence.createEntityManagerFactory(“EstoqueJPA”); não está procurando o arquivo persistence.xml dentro da pasta META-INF.

11 Respostas

maxmustang

Mostra o codigo ae :smiley:

tem uns exemplos com jpa aqui

Andre_Brito

Quais jars do hibernate tem no seu classpath?

santanna106

Pessoal,

segue o código das minhas classes.

package modelo;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;

/**

  • The persistent class for the produto database table.
*/

@Entity

@Table(name=produto)

public class Produto implements Serializable {

private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(unique=true, nullable=false)
private int codigo;

@Column(length=45)
private String categoria;

@Column(length=45)
private String nome;

@Column(precision=10, scale=2)
private BigDecimal preco;

private int quantidade;

public Produto() {
}

public int getCodigo() {
	return this.codigo;
}

public void setCodigo(int codigo) {
	this.codigo = codigo;
}

public String getCategoria() {
	return this.categoria;
}

public void setCategoria(String categoria) {
	this.categoria = categoria;
}

public String getNome() {
	return this.nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public BigDecimal getPreco() {
	return this.preco;
}

public void setPreco(BigDecimal preco) {
	this.preco = preco;
}

public int getQuantidade() {
	return this.quantidade;
}

public void setQuantidade(int quantidade) {
	this.quantidade = quantidade;
}

}

//Classe que executa a persistência

package modelo;

import java.math.BigDecimal;

import javax.persistence.EntityManager;

import javax.persistence.EntityManagerFactory;

import javax.persistence.Persistence;

public class Main {

/**
 * @param args
 */
public static void main(String[] args) {
	// TODO Auto-generated method stub
	Produto p = new Produto();
	p.setCategoria("frutas");
	p.setNome("Abacaxi");
	p.setPreco(new BigDecimal(3.45));
	p.setQuantidade(500);


	[b]EntityManagerFactory emf = Persistence.createEntityManagerFactory("EstoqueJPA");[/b]   --> Aqui ocorre o erro
	EntityManager em = emf.createEntityManager();
	/*
	 * em.getTransaction().begin(); em.persist(p);
	 * em.getTransaction().commit();
	 */
	em.close();
	emf.close();

}

}

santanna106

Eu estou utilizando os seguintes .jar do hibernate 3.6

AGAraujo

Eu também não consigo perceber nenhum erro. Já tive um problema desses, mas não me lembro bem…
Mas vamos a todas as possibilidades.
Poste o conteúdo do arquivo persistence.xml e veja se todas os caminhos das bibliotecas estão atualizados, já que está usando User Library.

santanna106

Segue o conteudo do meu arquivo persistence.xml

<?xml version="1.0" encoding="UTF-8"?> modelo.Produto
andii.brunetta

Não sei se tem alguma coisa a ver, mas tenta trocar o driver_class na configuração:

santanna106

Pessoal,

foi algum problema na minha user Library.

Eu exclui a user library hibernatecomp36 e inseri os .jar do hibernate no classpath do projeto.

Depois disso o projeto foi executado com susesso.

muito obrigado pessoal.

AGAraujo

blz cabra!!!

t+

carolino

santanna106 ,

valeu pela dica… eu tava usando os jars do hibernate em uma user Library também
Foi só remover que funcionou normal rsrs
vai entender…
obrigado!

santanna106

Nada cara,

obrigado pelo forum.

Criado 22 de novembro de 2010
Ultima resposta 19 de mar. de 2011
Respostas 11
Participantes 6