Bom dia
Estou iniciando o jsf,mas ao tentar gravar a informação no banco de dados, da o erro de nullpointer.
Segue abaixo meu projeto.
Classe teste
package teste;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Teste implements Serializable {
/**
*
*/
private static final long serialVersionUID = 7646013794649657437L;
@Id
@GeneratedValue
private Long id;
private String nome;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.hashCode());
result = prime * result + ((nome == null) ? 0 : nome.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Teste other = (Teste) obj;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
if (nome == null) {
if (other.nome != null)
return false;
} else if (!nome.equals(other.nome))
return false;
return true;
}
}
Interface
package teste;
public interface TesteDAO {
public void salvar(Teste teste);
}
DAO
package teste;
import javax.persistence.EntityManager;
public class TesteDAOJPA implements TesteDAO{
private EntityManager manager;
public TesteDAOJPA(){
this.manager = JPAUtil.getEntityManager();
}
@Override
public void salvar(Teste teste) {
// TODO Auto-generated method stub
this.manager.persist(teste);
}
}
Regra
package teste;
public class TesteRN {
private TesteDAO testeDAO;
public void salvar(Teste teste) {
if (teste == null) {
System.out.println("Erro");
} else {
this.testeDAO.salvar(teste);
}
}
}
Factory
package teste;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public class JPAUtil {
private static final EntityManagerFactory emf = Persistence
.createEntityManagerFactory("persistencia");
public static final EntityManager getEntityManager() {
return emf.createEntityManager();
}
public void close(){
emf.close();
}
}
bean
package teste;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.persistence.EntityManager;
@ManagedBean
@RequestScoped
public class TesteBean {
private Teste teste = new Teste();
public void salvar() {
// conseguimos a EntityManager
TesteRN rn = new TesteRN();
rn.salvar(this.teste);
}
public Teste getTeste() {
return teste;
}
public void setTeste(Teste teste) {
this.teste = teste;
}
}
pagina
testeSe aguem conseguir me ajudar desde ja agradeço.