Gracias por las respuestas. Observando más detenidamente la aplicación me he dado cuenta que el fallo no esta ahí, y sinceramente no se donde esta.
He comprobado que le paso correctamente los parámetros a la query, y he calculado cuanto tiempo tarda la query en lanzarse y tarda sobre 2 s, que no es nada, puesto que tiene cargas EAGER en sus objetos.
El problema viene en que un momento, cuando se devuelven datos, hay algo y no se que es, que hace que se ejecuten todas las consultas. Estoy con eclipse debugeando, y es cuando ya estoy en las clases de JSF (las que no puedo ver la implementacion, pero si avanzar con el debug), donde se lanza.
Perdón por poner antes con que estoy trabajando. Estoy con myfaces+jpa+jsf.
Decir que la páginación la hago tal y como dicen aquí:
http://wiki.apache.org/myfaces/WorkingWithLargeTables
El dataTable
Código:
<t:dataTable id="tablaDetalle"
value="#{soporteInventario.dataModel}" var="mtoSoporte"
rows="20"
binding="#{soporteInventario.dataTable}"
headerClass="tablaCabecera"
rowClasses="filaPar, filaImpar"
columnClasses="columnaNormalSinSalto,columnaNormal,columnaNormalSinSalto,columnaNormal,columnaBoton,columnaBoton,columnaBoton,columnaBoton,columnaBoton,columnaBoton"
sortColumn="#{soporteInventario.sort}"
sortAscending="#{soporteInventario.ascendente}"
preserveSort="true"
styleClass="tabla" valuebinding="dataTable">
y el dataScroller
Código:
<t:dataScroller id="scroll_1"
for="tablaDetalle"
fastStep="10"
pageCountVar="pageCount"
pageIndexVar="pageIndex"
styleClass="scroller"
paginator="true"
paginatorMaxPages="9"
paginatorTableClass="paginator"
paginatorActiveColumnStyle="font-weight:bold;"
immediate="true"
rowsCountVar="5"
displayedRowsCountVar="displayedRowsCountVar"
firstRowIndexVar="firstRowIndex"
lastRowIndexVar="lastRowIndex">
Edit: Acabo de descubrir, descargando algunos ficheros fuentes de jsf, que lanza las consultas cuando intenta renderizar la vista en la clase jsf, FaceletViewHandler.java