Porque retornar DataModel em vez de List

Bom, vi alguns exemplos que o autor no seu método “findAll” no Controller, retorna um ListDataModel. Qual a vantagem de retornar ListDataModel em vez de retornar uma List ??

O ListDataModel é uma classe do JSF que permite que haja uma interação direta entre a dataTable e o ManagedBen.
Como assim?
Suponha que você popula uma dataTable com 100 linhas e em cada linha você possui botões para editar e excluir cada registro.
Sem o ListDataModel ou o DataModel você precisaria passar algum identificador do elemento presente em uma determinada linha para que o ManagedBean possa encontrá-lo e, posterior, agir conforme o necessário (preparar a edição ou excluir o item).
Com o DataModel ou ListDataModel essa passagem de parâmetro identificador não é necessária, como você deve ter visto nos exemplos.
Basta que, no listener ou actionListener do ManagedBean você tenha

objeto = objetoListDataModel.getRowData();

E pronto.

Ok, mas se eu precisar da lista de Pessoas em outra parte do meu código que não seja para mostrar em um dataTable ? Posso ainda assim usar o DataModel ?

Camarada, leia a documentação do DataModel e veja se ele possui tudo o que você precisaria em uma List. É a forma mais adequada de descobrir.

Obrigado, já dei pra esclarecer bastante.

Até mais…