Printemps de données Paginable et LIMIT/OFFSET

je suis à la recherche de la migration de notre traditionnel jpa/dao solution de Printemps de Données.

Cependant, l'un de nos avant-fin est SmartGWT, et leurs lié aux données des composants de données de charge progressivement en utilisant limit/offset seulement, ce qui rend difficile à utiliser Paginable.

Cela pose des problèmes, car il n'est pas certain que le limit/offset peut être traduit evently dans un numéro de page. (il peut varier selon la façon dont l'utilisateur fait défiler, l'écran est redimensionné, etc.).

J'ai regardé à la Tranche, etc, mais n'était pas en mesure de trouver un moyen d'utiliser la limite de/les valeurs de décalage de n'importe où.

Me demandais si quelqu'un a les pointeurs? Idéalement, je voudrais continuer à utiliser limit/offset, mais de les utiliser dans mon Référentiel des interfaces sans avoir à coder une mise en œuvre et de les définir manuellement comme je le fais maintenant (requête.setMaxResults etc.)

Edit: Pour clarifier la raison pour laquelle j'ai des questions - Le limit/offset peuvent différer entre l'initiale et ultérieure des données récupère dans un smartgwt composant. Pour un listgrid, de la première extraction peut avoir limite fixée à 89 par exemple, puisque c'est le nombre de lignes visibles à l'écran, et le décalage 0. La demande suivante, cependant, pourrait avoir un offset de 89, et la limite de 50, car c'est la composante "datapagesize" valeur de 50, de sorte que c'est ce qu'il va chercher quand je scroll vers le bas.
Si j'ai faites défiler jusqu'à vers le bas avant de le relâcher, il pourrait, selon les paramètres, de récupérer par exemple les lignes 159-209 à la place. Fondamentalement, il n'ya aucune garantie que l'offset est un multiple de quoi que ce soit. Il est difficile de convertir décalage de 17, limite de 5 pour une page.

  • ne limite pas = la taille, et le décalage est juste de page * de la taille? qui est en défaut Paginable mise en œuvre?
  • Non, car il peut varier. Dire que j'ai un Listgrid. Le SmartGWT logique sera d'abord définir un offset à 0, et une assez grande limite de charge ce qui peut être vu sur l'écran. Cela peut être de 50, 79, 99, etc. selon screensize, la taille du navigateur, etc. La prochaine fois, ce sera le "pagesize" de la valeur, par exemple, pourrait être 50. Puis, en fonction de la façon dont vous faites défiler, il pourrait la prochaine fois extraire les lignes de 250 à 300 par exemple. Mon problème est que je ne peux pas contrôler la première valeur LIMITE, pour l'essentiel, ni ce que smartgwt décide que le décalage est sur les demandes ultérieures.
InformationsquelleAutor Mathias | 2015-05-13