java.lang.IllegalArgumentException: attempt to create delete event with null entity

Eu tenho uma classe de modelo simples de Fabricante apenas com o atributo ‘descricao’. Porem quando vou excluir gera no console o seguinte erro:

java.lang.IllegalArgumentException: attempt to create delete event with null entity
at org.hibernate.event.spi.DeleteEvent.<init>(DeleteEvent.java:48)
at org.hibernate.internal.SessionImpl.delete(SessionImpl.java:896)
at br.com.drogaria.dao.GenericDAO.excluir(GenericDAO.java:48)
at br.com.drogaria.bean.FabricanteBean.excluir(FabricanteBean.java:62)

GenericDAO

public void excluir(Entidade entidade) {
Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
Transaction transacao = null;

try {
    transacao = sessao.beginTransaction();
    sessao.delete(entidade);
    transacao.commit();
} catch (RuntimeException erro) {
    if (transacao != null) {
        transacao.rollback();
    }
    throw erro;
} finally {
    sessao.close();
}

}
Classe Bean, porem a lógica de negócio futuramente irei colocar em uma classe de Service:

public void excluir(ActionEvent evento) {
try {
    this.fabricante = (Fabricante) evento.getComponent().getAttributes().get("fabricanteSelecionado");

    FabricanteDAO fabricanteDAO = new FabricanteDAO();
    //this.fabricante = fabricanteDAO.buscar(fabricante.getCodigo());

    fabricanteDAO.excluir(fabricante);
    this.fabricantes = fabricanteDAO.listar();

    Messages.addGlobalInfo("Fabricante excluído com sucesso!");
} catch (RuntimeException erro) {
    Messages.addGlobalError("Ocorreu um erro ao tentar excluir um Fabricante.");
    erro.printStackTrace();
}

xhtml

<p:commandButton icon="ui-icon-trash" actionListener="#{fabricanteBean.excluir}"
        update=":mensagem :formListagem:tabela" title="Excluir">
<p:confirm header="Confirmação" message="Deseja excluir o Fabricante?"
    icon="ui-icon-alert">
    <f:attribute name="fabricanteSelecionado" value="#{fabricante}" />
</p:confirm>

Cara,

Ta vindo nulo a sua entidade.

sessao.delete(entidade);

Ai ele apresenta esse erro por tentar excluir algo nulo.

Isso eu sei, que está vindo nulo, eu não sei o motivo porque o meu banco esta populado, eu consigo salvar e editar. Mas o excluir não sei porque esta vindo como nulo.

Na verdade as classes estão corretas, conferindo depois com calma percebi que o erro estava no xhtml no confirmDialog, eu coloquei o f:attribute dentro do p:confirm, errado: O correto é como abaixo.

<p:commandButton icon="ui-icon-trash" actionListener="#{fabricanteBean.excluir}"
    update=":mensagem :formListagem:tabela" title="Excluir">
<p:confirm header="Confirmação" message="Deseja excluir o Fabricante #{fabricante.descricao}?" 
        icon="ui-icon-alert" />
    <f:attribute name="fabricanteSelecionado" value="#{fabricante}" />

</p:commandButton>