JSF duvida sobre rich:dataTable e DataModel (método GET chamado excessivamente)

Ola,

Estou com uma duvida sobre o JSF e não estou conseguindo resolver, é seguinte:

eu possuo um bean que contém um atributo dataModel

@Controller("categoriaBean")
@Scope("request")
public class CategoriaBean{

private DataModel dataModel;

public DataModel getDataModel() {
		  Long totalListSize = categoriaRepositorio.count();
		  List<Categoria> pagedList = categoriaRepositorio.loadAll(getDataTable().getFirst(), getDataTable().getRows());
		  this.dataModel = new PagedListDataModel(pagedList, totalListSize.intValue()); // classe que extende DataModel para implementar a paginação por demanda
		  return dataModel;
}     

já na minha view tenho o seguinte:

<rich:datascroller align="left" for="userList" maxPages="10" />
		
		<rich:dataTable id="userList" rows="10" 
			width="100%" binding="#{categoriaBean.dataTable}"
			columnClasses="col" value="#{categoriaBean.dataModel}" var="row">

Quando eu visualizo essa view, o método getDataModel() é chamado três vezes, e consequentemente realizando duas consultas no banco desnecassárias (que na realidade são 4 consultas desnecessaria ja que tem o .count()).

Tem como eu evitar essas chamadas excessivas ao getDataModel???

Att. Dirceu Sobrinho

P.S.: Caso não tenha como evitar isso, estou pensando em colocar variaveis que verificam se os atributos da consulta são da consulta anterior caso sejam retorna o dataModel ja armazedo senao realiza uma nova consulta (mas essa sem duvidas não é a melhor solução).

Alguem teve a solução destre problema? Estou com a mesma situação.

Caraca, estou com o mesmo tipo de problema, porem o meu fica chamando o metodo como se estivesse em um laço infinito …

Aqui, mais um cara com esta dúvida :
http://stackoverflow.com/questions/2090033/why-jsf-calls-getters-multiple-times

E aqui, um cara que “debugou” o ciclo de vida do jsf :
http://balusc.blogspot.com/2006/09/debug-jsf-lifecycle.html