Estou tentando fazer um cadastro no utilizando o primeface, na parte de cadastrar esta tudo certo, mais não estou conseguindo fazer a parte de alterar e excluir sera que alguem pode me ajudar segue o codigo
Classes
Equipe.java
[code]
@Entity
public class Equipe implements Serializable{
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
Long equ_codigo;
String equ_descricao;
public Equipe() {
    equ_codigo = new Long(0);
}
public Long getEqu_codigo() {
    return equ_codigo;
}
public void setEqu_codigo(Long equ_codigo) {
    this.equ_codigo = equ_codigo;
}
public String getEqu_descricao() {
    return equ_descricao;
}
public void setEqu_descricao(String equ_descricao) {
    this.equ_descricao = equ_descricao.toUpperCase();
}[/code]
DAO.java
public class DAO<T, I extends Serializable> implements InterfaceDao<T, I> {
    private Session conexao;
    
    public DAO(){
        getEntityManager();
    }
    @Override
    public boolean save(T entity) {
        boolean b = false;
        Transaction t = conexao.beginTransaction();
       
        try {
            conexao.saveOrUpdate(entity);
            t.commit();
            b = true;
        } catch (Exception e) {
            t.rollback();
            b = false;
        }
        return b;
    }
    @Override
    public boolean remove(T entity) {
        boolean b = false;
        Transaction t = conexao.beginTransaction();
       
        try {
            conexao.delete(entity);
            t.commit();
            b = true;
        } catch (Exception e) {
            t.rollback();
            b = false;
        }
        return b;
    }
    @Override
    public T getById(Class<T> classe, I pk) {
        try {
            return (T) conexao.load(classe, pk);
        } catch (NoResultException e) {
            return null;
        }
    }
    @SuppressWarnings("unchecked")
    @Override
    public List<T> getAll(Class<T> classe) {
        Query query = conexao.createQuery("select o from " + classe.getSimpleName() + " o");
        return query.list();
    }
    @Override
    public Session getEntityManager() {
        if (conexao == null) {
            conexao = HibernateUtil.openSession();
        }
        return conexao;
    }
}
EquipeDAO.java
public class EquipeDAO extends DAO<Equipe, Long> implements InterfaceEquipeDAO{
     
    
 
}
EquipeMB.java
@ManagedBean
@ViewScoped
public class EquipeMB implements Serializable {
    private Equipe equipe = new Equipe();
    private InterfaceEquipeDAO dao;
    private DataModel listaEquipe;
    /**
     * Creates a new instance of PessoaMB
     */
    public EquipeMB() {
        dao = new EquipeDAO();
        //List<Equipe> lista = dao.getAll(Equipe.class);
        //listaEquipe = new ListDataModel(lista);
    }
    public void prepararAdicionarEquipe(ActionEvent actionEvent) {
        equipe = new Equipe();
    }
    public void prepararAlterarEquipe() {
        equipe = (Equipe) (listaEquipe.getRowData());
    }
    /**
     * Getters e Setters
     */
    public String excluirEquipe() {
        Equipe equipeTemp = (Equipe) (listaEquipe.getRowData());
        dao.remove(equipeTemp);
        return "index";
    }
    public void setEquipe(Equipe equipe) {
        this.equipe = equipe;
    }
    public Equipe getEquipe() {
        return equipe;
    }
    public Equipe getEquipe(Long id) {
        return dao.getById(Equipe.class, id);
    }
    public DataModel getEquipeLista() {
        List<Equipe> lista = dao.getAll(Equipe.class);
        listaEquipe = new ListDataModel(lista);
        return listaEquipe;
    }
    /**
     * Métodos
     */
    public void salvarEquipe() {
        if (dao.save(equipe)) {
            equipe = new Equipe();
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Equipe foi incluida com sucesso !"));
        } else {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Erro ao incluir !"));
        }
        equipe = new Equipe();
    }
}
frmEquipe.xhtml
   <h:body>
         <h:form id="form">
            <h:panelGrid id="infosEquipe" >
                <h:outputLabel for="descricao" value="Descrição:" />
                <h:inputText id="descricao" value="#{equipeMB.equipe.equ_descricao}"/>
                <p:commandButton id="btnE" value="Enviar" type="submit" action="#{equipeMB.salvarEquipe}" process="@form" update="display" />
            </h:panelGrid>>
            <p:outputPanel id="display" style="display:block;margin-top:10px;"> 
                <p:dataTable id="tableEquipe" value="#{equipeMB.equipeLista}" var="e" rows="10" emptyMessage="sem registros" paginator="true" >
                    <p:column id="oodigoHeader" filterBy="#{e.equ_codigo}"   
                              headerText="CODIGO"  
                              filterMatchMode="contains" >
                        <h:outputText value="#{e.equ_codigo}"/>
                    </p:column>
                    <p:column id="descricaoHeader" filterBy="#{e.equ_descricao}"   
                              headerText="DESCRIÇÃO"  
                              filterMatchMode="contains">
                        <h:outputText value="#{e.equ_descricao}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Alterar"/>
                        </f:facet>
                        <p:commandButton value="Alterar" action="#{equipeMB.prepararAlterarEquipe}" process="@this" />
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Excluir"/>
                        </f:facet>
                        <p:commandButton action="#{equipeMB.excluirEquipe}" value="Excluir" update="tableEquipe" />
                    </p:column>
                </p:dataTable>
            </p:outputPanel>
        </h:form>
    </h:body>
Obrigado