Erro ao tentar executar o codigo da revista java magazine ed
Boa noite pessoal, sou assinante da revista java magazine.
Não estou conseguindo executar o codigo vindo como exemplo, e tambem para download.
Abaixo o codigo que criei com base na materia da java magazine.
Faço a chama de um servlet sem segredo.
O caso é, a tabela ate esta sendo crida no banco de dados mas nao insere nenhum registro veja o erro.
Se alguem poder me ajudar.
Não estou conseguindo executar o codigo vindo como exemplo, e tambem para download.
Abaixo o codigo que criei com base na materia da java magazine.
package jm.matriculas.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "aluno")
public class Aluno {
@Id
private String cpf;
@Column
private String email;
@Column
private String telefone;
@Column
private String nome;
public void setCpf(String cpf) {
this.cpf = cpf;
}
public void setEmail(String email) {
this.email = email;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return (this.cpf);
}
public String getEmail() {
return (this.email);
}
public String getTelefone() {
return (this.telefone);
}
public String getNome() {
return (this.nome);
}
package jm.matriculas.business;
import javax.persistence.*;
import jm.matriculas.model.Aluno;
public class GerenciadorAlunos {
private EntityManager entityManager = null;
public void setEntityManager(EntityManager em) {
this.entityManager = em;
}
public void salvar(Aluno aluno){
EntityManagerFactory emf = Persistence.createEntityManagerFactory("exemploJPA");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
entityManager.persist(aluno);
em.getTransaction().commit();
em.close();
emf.close();
}
/*public void excluir(Aluno aluno) throws ControleMatriculaException {
aluno = entityManager.merge(aluno);
entityManager.remove(aluno);
}
public Aluno getById(Integer id) throws ControleMatriculaException {
return entityManager.find(Aluno.class, id);
}
public Aluno getByCpf(String cpf) throws ControleMatriculaException {
Query query = entityManager.createNamedQuery("alunoByCpf");
query.setParameter("cpf", cpf);
return (Aluno) query.getSingleResult();
}
public List<Aluno> getByNome(String nome) throws ControleMatriculaException {
Query query = entityManager.createNamedQuery("alunoByNome");
query.setParameter("nome", nome);
return (List<Aluno>) query.getResultList();
}
package jm.matriculas.testes.parte1;
import javax.persistence.*;
import jm.matriculas.model.Aluno;
public class TestePersistenciaAluno {
jm.matriculas.business.GerenciadorAlunos ga = new
jm.matriculas.business.GerenciadorAlunos();
public void teste() {
Aluno a1 = new Aluno();
a1.setNome("Joo da Silva");
a1.setCpf("14151677899");
a1.setEmail("joao.silva@umemail.com.br");
a1.setTelefone("8765-5678");
ga.salvar(a1);
}
}
<?xml version="1.0" encoding="UTF-8"?> <persistence version="1.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_1_0.xsd"> <persistence-unit name="exemploJPA" transaction-type="RESOURCE_LOCAL"> <provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider> <class>jm.matriculas.model.Aluno</class> <properties> <property name="toplink.logging.level" value="INFO"/> <property name="toplink.jdbc.driver" value="org.postgresql.Driver"/> <property name="toplink.jdbc.user" value="postgres"/> <property name="toplink.jdbc.password" value=""/> <property name="toplink.ddl-generation" value="create-tables"/> </properties> </persistence-unit> </persistence>
Faço a chama de um servlet sem segredo.
O caso é, a tabela ate esta sendo crida no banco de dados mas nao insere nenhum registro veja o erro.
java.lang.NullPointerException jm.matriculas.business.GerenciadorAlunos.salvar(GerenciadorAlunos.java:20) jm.matriculas.testes.parte1.TestePersistenciaAluno.teste(TestePersistenciaAluno.java:18) servlets.ServTeste.doGet(ServTeste.java:38) javax.servlet.http.HttpServlet.service(HttpServlet.java:690) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
Se alguem poder me ajudar.
Vou Java
Curtidas 0