Dúvida sobre <p:dataTable> com @RequestScoped

Tenho uma tabela e gostaria de ter um botao nesta tabela que quando o usuario clicar neste botão ele seta um cliente no meu bean… só isso!

<p:dataTable id="tbCliente" var="cli" value="#{ordemServicoBean.listaCliente}" emptyMessage="Nenhum registro encontrado." paginator="true" rows="10"> <f:facet name="header" > Clientes </f:facet> <p:column headerText="Nome"> <h:outputText value="#{cli.nome}" /> </p:column> <p:column style="width:30px; text-align: center"> <h:commandLink title="Selecionar" actionListener="#{ordemServicoBean.selecionaCliente(cli)}" oncomplete="dlgBuscaCliente.hide()" update=":formPrincipal:campoFiltro"> <p:graphicImage value="tema/icons/ok.png" /> </h:commandLink> </p:column>

Se coloco o Bean dessa tela como ViewScoped funciona que é uma beleza! Mas queria trabalhar com @RequestScoped e ai é o problema!
Se o bean ta request parece que eu perco a referencia dos “objetos” da tabela"…
Quando coloco como request ele mata a arvore de componentes que estao na tela? é isso? já li bastante sobre os escopos mas não sei se entendi bem essa nova maneira de pensar!

[b]Exatamente.

Objeto só fica disponível durante sua requisição e no final da mesma ele ficará indisponível.

Caso necessite utilizar o objeto na view, utilize o @SessionScoped.

Abraço.[/b]

Valeu Alberthy pela resposta, mas não sei se neste caso seria legal salvar todos esses dados na session, acho que isso realmente poderia me complicar no futuro…
Será que teríamos outro solução?

Utilize @ViewScoped, que ficará somente na view