Boa Tarde Galera,
Sou iniciante estou ultilizando (Netbeans, JSF, Hibernate, Facelets e Postgres).
Na página cadastrar digito todos os valores nos campos ao clicar no buttom "Confirmar", pra inserir os dados no banco dar erro 500 o que devo fazer?
[img]HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: #{Secretaria.finishConfirmaCadSecretaria}: java.lang.NullPointerException
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
root cause [/img]
As classes ultilizadas no projeto encontra- se abaixo:
CÓDIGO DAO (CADSECRETARIADAO)
package secretaria.dao;
import java.util.List;
import org.hibernate.Session;
import secretaria.entidade.CadastrarSecretaria;
public class CadSecretariaDAO extends GenericDAO {
private static final long serialVersionUID = 1L;
private Session session;
public CadSecretariaDAO(Session session) {
this.session = session;
}
public CadSecretariaDAO() {
this.session = getSession();
}
public int addCadastrarSecretaria(CadastrarSecretaria cad) {
saveOrUpadatePojo(cad);
return cad.getCodigosecretaria();
}
public void removeCadastrarSecretaria(CadastrarSecretaria cad) {
removePojo(cad);
}
public void upadateCadastrarSecretaria(CadastrarSecretaria cad) {
saveOrUpadatePojo(cad);
}
public CadastrarSecretaria getCadastrarSecretaria(Integer codigosecretaria) throws Exception{
CadastrarSecretaria cad = getPojo(CadastrarSecretaria.class, codigosecretaria);
return cad;
}
public List<CadastrarSecretaria> getCadSecretarias(){
return getPureList(CadastrarSecretaria.class,"from CadastrarSecretaria cad");
}
}
CÓDIGO GENERICDAO
package secretaria.dao;
import java.io.Serializable;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import secretaria.entidade.HibernateUtil;
public abstract class GenericDAO {
public GenericDAO() {
}
private static final long serialVersionUID = 1L;
protected Session getSession() {
return HibernateUtil.getInstance().getSession();
}
protected void saveOrUpadatePojo(Serializable pojo) {
Session ses = getSession();
ses.getTransaction().commit();
ses.close();
}
protected <T extends Serializable> T getPojo(Class<T> classToSearch, Serializable key) {
Session ses = getSession();
Serializable toReturn = (Serializable) ses.get(classToSearch, key);
ses.getTransaction().commit();
ses.close();
return (T) toReturn;
}
protected void removePojo(Serializable pojoToRemote) {
Session ses = getSession();
ses.delete(pojoToRemote);
ses.getTransaction().commit();
ses.close();
}
protected Serializable getPurePojo(String query, Object... params) {
Session ses = getSession();
Query qr = ses.createQuery(query);
for (int i = 1; i <= params.length; i++) {
qr.setParameter(1, params[i - 1]);
}
Object toReturn = qr.uniqueResult();
ses.getTransaction().commit();
ses.close();
return (Serializable) toReturn;
}
protected <T extends Serializable> List<T> getPureList(Class<T> classToCast, String query, Object... params) {
Session ses = getSession();
Query qr = ses.createQuery(query);
for (int i = 1; i <= params.length; i++) {
qr.setParameter(1, params[i - 1]);
}
@SuppressWarnings("unchecked")
List<T> toReturn = qr.list();
ses.getTransaction().commit();
ses.close();
return toReturn;
}
}
CÓDIGO (HIBERNATE UTIL)
package secretaria.entidade;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class HibernateUtil {
private static final long serialVersionUID = 1L;
private static HibernateUtil me;
private SessionFactory sessionFactory;
private HibernateUtil() {
sessionFactory = new AnnotationConfiguration()
.setProperty("hibernate.connection.driver_class","org.postgresql.Driver")
.setProperty("hibernate.connection.url","jdbc:postgresql://localhost:5432/secretarias")
.setProperty("hibernate.connection.password", "post")
.setProperty("hibernate.connection.username", "postgres")
.setProperty("hibernate.dialect","org.hibernate.dialect.PostgreSQLDialect")
.setProperty("hibernate.hbm2ddl.auto","none")
.setProperty ("hibernate.show_sql", "true")
.setProperty ("hibernate.format_sql", "true")
.setProperty ("hibernate.c3p0.acquire_incement", "1")
.setProperty ("hibernate.c3p0.idle_test_period", "100")
.setProperty ("hibernate.c3p0.max_size", "10")
.setProperty ("hibernate.c3p0.max_statements", "0")
.setProperty ("hibernate.c3p0.min_size", "5")
.setProperty ("hibernate.c3p0.timeout", "100")
.addAnnotatedClass(AbrirChamado.class)
.addAnnotatedClass(CadastrarEquipamento.class)
.addAnnotatedClass(CadastrarSecretaria.class)
.addAnnotatedClass(CadastrarSolicitante.class)
.addAnnotatedClass(CadastrarTecnico.class)
.addAnnotatedClass(ControleEquipamento.class)
.addAnnotatedClass(OrdemServico.class)
.addAnnotatedClass(Perifericos.class)
.addAnnotatedClass(TipoManutencao.class)
.buildSessionFactory();
}
public Session getSession(){
Session toReturn = sessionFactory.openSession();
toReturn.beginTransaction();
return toReturn;
}
public static HibernateUtil getInstance() {
if (me == null) {
me = new HibernateUtil();
}
return me;
}
}
CÓDIGO DA ENTIDADE (CADASTRARSECRETARIA)
package secretaria.entidade;
import java.util.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.Id;
import javax.persistence.OneToMany;
@Entity
@Table(name = "cadsecretaria")
public class CadastrarSecretaria implements java.io.Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "codigosecretaria")
private Integer codigosecretaria;
@Column(name = "nome")
private String nome;
@Column(name = "status")
private String status;
@Column(name = "codoperinc")
private Integer codoperinc;
@Temporal(javax.persistence.TemporalType.DATE)
@Column(name = "datainclusao")
private Date datainclusao;
@Column(name = "codoperalt")
private Integer codoperalt;
@Temporal(javax.persistence.TemporalType.DATE)
@Column(name = "dataalteracao")
private Date dataalteracao;
@OneToMany(mappedBy = "secretaria", fetch = FetchType.LAZY)
private List<CadastrarSolicitante> cadastrarSolicitante;
@OneToMany(mappedBy = "sectecnico", fetch = FetchType.LAZY)
private List<CadastrarTecnico> cadastrarTecnico;
@OneToMany(mappedBy = "cadSecretaria", fetch = FetchType.LAZY)
private List<CadastrarEquipamento> cadastrarEquipamento;
public List<CadastrarEquipamento> getCadastrarEquipamento() {
return cadastrarEquipamento;
}
public void setCadastrarEquipamento(List<CadastrarEquipamento> cadastrarEquipamento) {
this.cadastrarEquipamento = cadastrarEquipamento;
}
public List<CadastrarSolicitante> getCadastrarSolicitante() {
return cadastrarSolicitante;
}
public void setCadastrarSolicitante(List<CadastrarSolicitante> cadastrarSolicitante) {
this.cadastrarSolicitante = cadastrarSolicitante;
}
public List<CadastrarTecnico> getCadastrarTecnico() {
return cadastrarTecnico;
}
public void setCadastrarTecnico(List<CadastrarTecnico> cadastrarTecnico) {
this.cadastrarTecnico = cadastrarTecnico;
}
public Integer getCodigosecretaria() {
return codigosecretaria;
}
public void setCodigosecretaria(Integer codigosecretaria) {
this.codigosecretaria = codigosecretaria;
}
public Integer getCodoperalt() {
return codoperalt;
}
public void setCodoperalt(Integer codoperalt) {
this.codoperalt = codoperalt;
}
public Integer getCodoperinc() {
return codoperinc;
}
public void setCodoperinc(Integer codoperinc) {
this.codoperinc = codoperinc;
}
public Date getDataalteracao() {
return dataalteracao;
}
public void setDataalteracao(Date dataalteracao) {
this.dataalteracao = dataalteracao;
}
public Date getDatainclusao() {
return datainclusao;
}
public void setDatainclusao(Date datainclusao) {
this.datainclusao = datainclusao;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final CadastrarSecretaria other = (CadastrarSecretaria) obj;
if (this.codigosecretaria != other.codigosecretaria && (this.codigosecretaria == null || !this.codigosecretaria.equals(other.codigosecretaria))) {
return false;
}
return true;
}
@Override
public int hashCode() {
int hash = 3;
hash = 17 * hash + (this.codigosecretaria != null ? this.codigosecretaria.hashCode() : 0);
return hash;
CÓDIGO MANAGER BEAN (SECRETARIA)
package secretaria.faces;
import java.util.List;
import secretaria.dao.CadSecretariaDAO;
import secretaria.entidade.CadastrarSecretaria;
public class Secretaria {
private List<CadastrarSecretaria> cachedCadSecretarias = null;
private CadSecretariaDAO cad = new CadSecretariaDAO();
private CadastrarSecretaria selectedSecretaria;
public Secretaria() {
}
public List<CadastrarSecretaria> getCachedCadSecretaria() {
if (cachedCadSecretarias == null){
cachedCadSecretarias = cad.getCadSecretarias();
}
return cachedCadSecretarias;
}
public String doConfirmaCadSecretaria(){
selectedSecretaria = new CadastrarSecretaria();
return "ConfirmarNovoUsuario";
}
public String finishConfirmaCadSecretaria(){
cad.addCadastrarSecretaria(selectedSecretaria);
cachedCadSecretarias = null;
return "ListCadSecretaria";
}
public CadastrarSecretaria getSelectedSecretaria() {
return selectedSecretaria;
}
public void setSelectedSecretaria(CadastrarSecretaria selectedSecretaria) {
this.selectedSecretaria = selectedSecretaria;
}
}