CRUD em JSF. Problemas no Alterar

Vo posta um exemplo de como uso para fazer isso, clicar no botao do datatable e abrir uma pagina para alterar:

<p:column sortBy="#{bean.descricao}"> <f:facet name="header">#{messages['projeto.label.descricao']}</f:facet> <h:commandLink action="#{projetoListMB.getNextView}" actionListener="#{projetoListMB.clear}"> <h:outputText value="#{bean.descricao}" /> <f:param name="id" value="#{bean.idProjeto}" /> </h:commandLink> </p:column>

  1. Uso o <f:facet> somente para dar um nome para coluna, mas isto pode ser substituido acrescentando um header, um proprio atributo da tag <p:column>
  2. Uso o commandLink, mas voces podem ficar a vontade para usar commandButton, dentro da tag commandLink ponho um texto, e ponho um <f:param>, e é aqui que ta o segredo, ao clicar no commandLink, ele passa o id para o bean, que por sua vez carrega a pagina h:commandLink action="#{projetoListMB.getNextView}" setada no meu proprio bean. lembrando que bean é o var do datatable, exemplo:
<p:dataTable id="list" var="bean" value="#{projetoListMB.resultList}">

Ola hugo.hlcxcx

Lá no se Bean coloque o escopo @RequestScoped,
segue um exemplo:

@ManagedBean
@RequestScoped
public class PaisBean implements Serializable{