Erro 500 (java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity)

Pessoal ao clicar no Buttom “Cofirmar” pra gravar no banco de dados ele apresenta um erro 500 reclamando da Entydade NUll (java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity), Alguem me ajuda por favor.

Manager Bean

[code]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 cadsec = new CadSecretariaDAO();
private CadastrarSecretaria selectedSecretaria;

public Secretaria() {
}

public List<CadastrarSecretaria> getCachedCadSecretaria() {
    if (cachedCadSecretarias == null){

        cachedCadSecretarias = cadsec.getCadSecretairas();
    }

    return cachedCadSecretarias;
}

public String doConfirmaCadSecretaria(){
    selectedSecretaria = new CadastrarSecretaria();
    return "ConfirmarNovoUsuario";
}

public String finishConfirmaCadSecretaria(){
   cadsec.addCadastrarSecretaria(selectedSecretaria);
   cachedCadSecretarias = null;
   return "ListCadSecretaria";
}

public CadastrarSecretaria getSelectedSecretaria() {
    return selectedSecretaria;
}

public void setSelectedSecretaria(CadastrarSecretaria selectedSecretaria) {
    this.selectedSecretaria = selectedSecretaria;
}

}[/code]

Classe DAO

[code]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) {
    CadastrarSecretaria cad = getPojo(CadastrarSecretaria.class, codigosecretaria);
    return cad;

}

public List<CadastrarSecretaria> getCadSecretairas(){
    return getPureList(CadastrarSecretaria.class,"from CadastrarSecretaria cad");
}

}[/code]

Classe Entidade (Reclama que não existe uma unidade de persistência)

[code]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.GeneratedValue;
import javax.persistence.GenerationType;
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", nullable = false)
@GeneratedValue (strategy= GenerationType.SEQUENCE)
private Integer codigosecretaria;
@Column(name = "nome", nullable = false)
private String nome;
@Column(name = "status", nullable = false)
private char status;
@Column(name = "codoperinc", nullable = false)
private Integer codoperinc;
@Temporal(javax.persistence.TemporalType.DATE)
@Column(name = "datainclusao", nullable = false)
private Date datainclusao;
@Column(name = "codoperalt", nullable = false)
private Integer codoperalt;
@Temporal(javax.persistence.TemporalType.DATE)
@Column(name = "dataalteracao", nullable = false)
private Date dataalteracao;

@OneToMany(mappedBy=“secretaria”, fetch=FetchType.LAZY)
private List cadastrarSolicitante;

@OneToMany (mappedBy=“sectecnico”, fetch=FetchType.LAZY)
private List cadastrarTecnico;

@OneToMany (mappedBy=“cadSecretaria”, fetch=FetchType.LAZY)
private List cadastrarEquipamento;

public Integer getCodigosecretaria() {
    return codigosecretaria;
}

public void setCodigosecretaria(Integer codigosecretaria) {
    this.codigosecretaria = codigosecretaria;
}


public String getNome() {
    return nome;
}


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


public char getStatus() {
    return status;
}


public void setStatus(char status) {
    this.status = status;
}


public Integer getCodoperinc() {
    return codoperinc;
}


public void setCodoperinc(Integer codoperinc) {
    this.codoperinc = codoperinc;
}

public Date getDatainclusao() {
    return datainclusao;
}


public void setDatainclusao(Date datainclusao) {
    this.datainclusao = datainclusao;
}


public Integer getCodoperalt() {
    return codoperalt;
}


public void setCodoperalt(Integer codoperalt) {
    this.codoperalt = codoperalt;
}


public Date getDataalteracao() {
    return dataalteracao;
}

public void setDataalteracao(Date dataalteracao) {
    this.dataalteracao = dataalteracao;
}


public List<CadastrarSolicitante> getCadastrarSolicitante() {
    return cadastrarSolicitante;
}


public void setCadastrarSolicitante(List<CadastrarSolicitante> cadastrarSolicitante) {
    this.setCadastrarSolicitante(cadastrarSolicitante);
}


public List<CadastrarTecnico> getCadastrarTecnico() {
    return cadastrarTecnico;
}


public void setCadastrarTecnico(List<CadastrarTecnico> cadastrarTecnico) {
    this.setCadastrarTecnico(cadastrarTecnico);
}


public List<CadastrarEquipamento> getCadastrarEquipamento() {
    return cadastrarEquipamento;
}


public void setCadastrarEquipamento(List<CadastrarEquipamento> cadastrarEquipamento) {
    this.cadastrarEquipamento = cadastrarEquipamento;
}

DAO Generic

[code]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() {
}

protected Session getSession() {
    return HibernateUtil.getInstance().getSession();
}

protected void saveOrUpadatePojo(Serializable pojo){
    Session ses = getSession();
    ses.saveOrUpdate(pojo);
    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 toReturn = qr.list();
ses.getTransaction().commit();
ses.close();
return toReturn;
}
}[/code]

}[/code]

Minha pagina XHTML pro cadastro da secretaria.

[code]<?xml version="1.0" encoding="UTF-8"?>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>Cadastrar Secretarias</title>
</head>
<body title="Cadastrar Secretarias" style="background-color: green">

    <h:panelGrid columns="6">
        <rich:panel>

            <f:facet name="header">
                <h:outputText value="CADASTROS SECRETARIAS"/>
            </f:facet>

            <a4j:form ajaxSubmit="true" reRender="name">

                <h:inputText label="nome" size="10" style="width:auto"/>

                <a4j:commandButton id="incluir" value="Incluir"/>
                <a4j:commandButton id="alterar" value="Alterar"/>
                <a4j:commandButton id="deletar" value="Deletar"/>
                <a4j:commandButton id="consultar" value="Consultar"/>
                <a4j:commandButton id="confirmar" value="Confirmar" action="#{Secretaria.finishConfirmaCadSecretaria}"/>
                <a4j:commandButton id="cancelar" value="Cancelar"/>
                <br/>

            </a4j:form><br></br>
            <h:form>

                Codigo Secretaria:<h:inputText value="#{Secretaria.selectedSecretaria.codigosecretaria}"/><br/>
                Nome:<h:inputText value="#{Secretaria.selectedSecretaria.nome}"/><br/>
                Status <h:selectOneRadio label="Ativo" value="#{Secretaria.selectedSecretaria.status}"/>
                
            </h:form>
                
        </rich:panel>
    </h:panelGrid>

</body>
[/code]

[code]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.IllegalArgumentException: attempt to create saveOrUpdate event with null entity
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

javax.faces.FacesException: #{Secretaria.finishConfirmaCadSecretaria}: java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:107)
javax.faces.component.UICommand.broadcast(UICommand.java:383)
org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:324)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:299)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:256)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:469)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
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

javax.faces.el.EvaluationException: java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
javax.faces.component.UICommand.broadcast(UICommand.java:383)
org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:324)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:299)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:256)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:469)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
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

java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity
org.hibernate.event.SaveOrUpdateEvent.(SaveOrUpdateEvent.java:63)
org.hibernate.event.SaveOrUpdateEvent.(SaveOrUpdateEvent.java:46)
org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:527)
org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:523)
secretaria.dao.GenericDAO.saveOrUpadatePojo(GenericDAO.java:20)
secretaria.dao.CadSecretariaDAO.addCadastrarSecretaria(CadSecretariaDAO.java:22)
secretaria.faces.Secretaria.finishConfirmaCadSecretaria(Secretaria.java:31)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:623)
org.apache.el.parser.AstValue.invoke(AstValue.java:172)
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
javax.faces.component.UICommand.broadcast(UICommand.java:383)
org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:324)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:299)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:256)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:469)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
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)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.[/code]

Você já depurou o seu código para se certificar que o teu objeto selectedSecretaria não é nulo?!

Quando depuro o projeto ele constroi normalmente a tela inicial. Ao depurar o managerBeans ele da um erro dizendo que (Não existe um mapeamento de servlet especificado no web.xml para o servlet Secretaria). O que tenho que fazer?

Quando depuro o projeto ele constroi normalmente a tela inicial. Ao depurar o managerBeans ele da um erro dizendo que (Não existe um mapeamento de servlet especificado no web.xml para o servlet Secretaria). O que tenho que fazer?[/quote]

Tem que mapear o Servlet secretaria :stuck_out_tongue:

Quando depuro o projeto ele constroi normalmente a tela inicial. Ao depurar o managerBeans ele da um erro dizendo que (Não existe um mapeamento de servlet especificado no web.xml para o servlet Secretaria). O que tenho que fazer?[/quote]

Tem que mapear o Servlet secretaria :p[/quote]

Como que eu faço isso?
A possibilidade de explicar melhor, pois sou iniciante e so tenho vocês do GUJ pra me ajudar aonde moro não tem desenvolvedores em Java.

[quote=robertinhodf]Pessoal ao clicar no Buttom “Cofirmar” pra gravar no banco de dados ele apresenta um erro 500 reclamando da Entydade NUll (java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity), Alguem me ajuda por favor.

Manager Bean

[code]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 cadsec = new CadSecretariaDAO();
private CadastrarSecretaria selectedSecretaria;

public Secretaria() {
}

public List<CadastrarSecretaria> getCachedCadSecretaria() {
    if (cachedCadSecretarias == null){

        cachedCadSecretarias = cadsec.getCadSecretairas();
    }

    return cachedCadSecretarias;
}

public String doConfirmaCadSecretaria(){
    selectedSecretaria = new CadastrarSecretaria();
    return "ConfirmarNovoUsuario";
}

public String finishConfirmaCadSecretaria(){
   cadsec.addCadastrarSecretaria(selectedSecretaria);
   cachedCadSecretarias = null;
   return "ListCadSecretaria";
}

public CadastrarSecretaria getSelectedSecretaria() {
    return selectedSecretaria;
}

public void setSelectedSecretaria(CadastrarSecretaria selectedSecretaria) {
    this.selectedSecretaria = selectedSecretaria;
}

}[/code]

Classe DAO

[code]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) {
    CadastrarSecretaria cad = getPojo(CadastrarSecretaria.class, codigosecretaria);
    return cad;

}

public List<CadastrarSecretaria> getCadSecretairas(){
    return getPureList(CadastrarSecretaria.class,"from CadastrarSecretaria cad");
}

}[/code]

Classe Entidade (Reclama que não existe uma unidade de persistência)

[code]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.GeneratedValue;
import javax.persistence.GenerationType;
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", nullable = false)
@GeneratedValue (strategy= GenerationType.SEQUENCE)
private Integer codigosecretaria;
@Column(name = "nome", nullable = false)
private String nome;
@Column(name = "status", nullable = false)
private char status;
@Column(name = "codoperinc", nullable = false)
private Integer codoperinc;
@Temporal(javax.persistence.TemporalType.DATE)
@Column(name = "datainclusao", nullable = false)
private Date datainclusao;
@Column(name = "codoperalt", nullable = false)
private Integer codoperalt;
@Temporal(javax.persistence.TemporalType.DATE)
@Column(name = "dataalteracao", nullable = false)
private Date dataalteracao;

@OneToMany(mappedBy=“secretaria”, fetch=FetchType.LAZY)
private List cadastrarSolicitante;

@OneToMany (mappedBy=“sectecnico”, fetch=FetchType.LAZY)
private List cadastrarTecnico;

@OneToMany (mappedBy=“cadSecretaria”, fetch=FetchType.LAZY)
private List cadastrarEquipamento;

public Integer getCodigosecretaria() {
    return codigosecretaria;
}

public void setCodigosecretaria(Integer codigosecretaria) {
    this.codigosecretaria = codigosecretaria;
}


public String getNome() {
    return nome;
}


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


public char getStatus() {
    return status;
}


public void setStatus(char status) {
    this.status = status;
}


public Integer getCodoperinc() {
    return codoperinc;
}


public void setCodoperinc(Integer codoperinc) {
    this.codoperinc = codoperinc;
}

public Date getDatainclusao() {
    return datainclusao;
}


public void setDatainclusao(Date datainclusao) {
    this.datainclusao = datainclusao;
}


public Integer getCodoperalt() {
    return codoperalt;
}


public void setCodoperalt(Integer codoperalt) {
    this.codoperalt = codoperalt;
}


public Date getDataalteracao() {
    return dataalteracao;
}

public void setDataalteracao(Date dataalteracao) {
    this.dataalteracao = dataalteracao;
}


public List<CadastrarSolicitante> getCadastrarSolicitante() {
    return cadastrarSolicitante;
}


public void setCadastrarSolicitante(List<CadastrarSolicitante> cadastrarSolicitante) {
    this.setCadastrarSolicitante(cadastrarSolicitante);
}


public List<CadastrarTecnico> getCadastrarTecnico() {
    return cadastrarTecnico;
}


public void setCadastrarTecnico(List<CadastrarTecnico> cadastrarTecnico) {
    this.setCadastrarTecnico(cadastrarTecnico);
}


public List<CadastrarEquipamento> getCadastrarEquipamento() {
    return cadastrarEquipamento;
}


public void setCadastrarEquipamento(List<CadastrarEquipamento> cadastrarEquipamento) {
    this.cadastrarEquipamento = cadastrarEquipamento;
}

DAO Generic

[code]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() {
}

protected Session getSession() {
    return HibernateUtil.getInstance().getSession();
}

protected void saveOrUpadatePojo(Serializable pojo){
    Session ses = getSession();
    ses.saveOrUpdate(pojo);
    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 toReturn = qr.list();
ses.getTransaction().commit();
ses.close();
return toReturn;
}
}[/code]

}[/code]

Minha pagina XHTML pro cadastro da secretaria.

[code]<?xml version="1.0" encoding="UTF-8"?>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>Cadastrar Secretarias</title>
</head>
<body title="Cadastrar Secretarias" style="background-color: green">

    <h:panelGrid columns="6">
        <rich:panel>

            <f:facet name="header">
                <h:outputText value="CADASTROS SECRETARIAS"/>
            </f:facet>

            <a4j:form ajaxSubmit="true" reRender="name">

                <h:inputText label="nome" size="10" style="width:auto"/>

                <a4j:commandButton id="incluir" value="Incluir"/>
                <a4j:commandButton id="alterar" value="Alterar"/>
                <a4j:commandButton id="deletar" value="Deletar"/>
                <a4j:commandButton id="consultar" value="Consultar"/>
                <a4j:commandButton id="confirmar" value="Confirmar" action="#{Secretaria.finishConfirmaCadSecretaria}"/>
                <a4j:commandButton id="cancelar" value="Cancelar"/>
                <br/>

            </a4j:form><br></br>
            <h:form>

                Codigo Secretaria:<h:inputText value="#{Secretaria.selectedSecretaria.codigosecretaria}"/><br/>
                Nome:<h:inputText value="#{Secretaria.selectedSecretaria.nome}"/><br/>
                Status <h:selectOneRadio label="Ativo" value="#{Secretaria.selectedSecretaria.status}"/>
                
            </h:form>
                
        </rich:panel>
    </h:panelGrid>

</body>
[/code]

[code]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.IllegalArgumentException: attempt to create saveOrUpdate event with null entity
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

javax.faces.FacesException: #{Secretaria.finishConfirmaCadSecretaria}: java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:107)
javax.faces.component.UICommand.broadcast(UICommand.java:383)
org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:324)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:299)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:256)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:469)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
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

javax.faces.el.EvaluationException: java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
javax.faces.component.UICommand.broadcast(UICommand.java:383)
org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:324)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:299)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:256)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:469)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
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

java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity
org.hibernate.event.SaveOrUpdateEvent.(SaveOrUpdateEvent.java:63)
org.hibernate.event.SaveOrUpdateEvent.(SaveOrUpdateEvent.java:46)
org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:527)
org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:523)
secretaria.dao.GenericDAO.saveOrUpadatePojo(GenericDAO.java:20)
secretaria.dao.CadSecretariaDAO.addCadastrarSecretaria(CadSecretariaDAO.java:22)
secretaria.faces.Secretaria.finishConfirmaCadSecretaria(Secretaria.java:31)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:623)
org.apache.el.parser.AstValue.invoke(AstValue.java:172)
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
javax.faces.component.UICommand.broadcast(UICommand.java:383)
org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:324)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:299)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:256)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:469)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
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)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.[/code]

[/quote]

Teste na Entity CadastrarSecretaria resultado do teste. Alguem pode me ajudar?

addCadastrarSecretaria log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version). log4j:WARN Please initialize the log4j system properly. getCadastrarSecretaria upadateCadastrarSecretaria removeCadastrarSecretaria