Olá pessoa…
sou o mais novo membro da família… :roll: alias, com muito orgulho.
Bom, estou tentando criar um exemplo de hibernate com JPA…
porém, nao consigo fazer rodar pelo mais basico que seja.
[color=red][size=18]Acontece o seguinte erro:[/size][/color]
xception in thread "main" java.lang.ExceptionInInitializerError
at org.hibernate.cfg.Configuration.reset(Configuration.java:299)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:265)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:269)
at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.java:151)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
at model.Main.main(Main.java:13)
Caused by: java.lang.NullPointerException
at org.hibernate.internal.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:170)
at org.hibernate.cfg.Environment.<clinit>(Environment.java:221)
... 8 more
Nao encontrei o problema em nenhum lugar.
Parece que o erro avisa falta do arquivo org.hibernate.cfg.Configuration
Porem, pelo que sei… usando JPA precisa-se apenas o arquivo persistence.xml na pasta src/META-INF/
[size=18]Persistence.xml [/size] - Vejam como ficou o Persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="projetoJPA" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>model.Pessoa</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect"/>
<property name="hibernate.connection.show_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver "/>
<property name="hibernate.connection.username" value="root" />
<property name="hibernate.connection.password" value="" />
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/sistema"/>
</properties>
</persistence-unit>
</persistence>
[size=18]e agora minha CLASS[/size]
package model;
import java.io.Serializable;
import javax.persistence.*;
/**
* The persistent class for the pessoa database table.
*
*/
@Entity
@Table(name="pessoa")
public class Pessoa implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(unique=true, nullable=false)
private int codigo;
@Column(length=100)
private String email;
@Column(nullable=false, length=100)
private String nome;
public Pessoa() {
}
public int getCodigo() {
return this.codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getEmail() {
return this.email;
}
public void setEmail(String email) {
this.email = email;
}
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
[size=18]CLASS MAIN para teste[/size]
package model;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("projetoJPA");
EntityManager em = emf.createEntityManager();
try {
em.getTransaction().begin();
Pessoa user = em.find(Pessoa.class, 1);
System.out.println(user.getNome());
em.getTransaction().commit();
}
catch (Exception e) {
em.getTransaction().rollback();
e.printStackTrace();
}
finally{
emf.close();
}
}
}
Para tirar dúvidas quanto ao que estou usando, segue uma imagem bem completa do eclipse
[size=18]será que alguem pode me ajudar? [/size] :thumbup: