2016-04-08 2 views
0

J'ai un scénario où j'ai besoin d'extraire un grand nombre d'enregistrements de la base de données et d'afficher dans l'interface utilisateur. J'ai ci-dessous deux solutions possibles. Pouvez-vous s'il vous plaît m'aider à en choisir un meilleur. 1. Récupère tous les enregistrements de la base de données et les garde en mémoire et n'affiche que le nombre d'enregistrements requis sur ui. 2. Récupère seulement quelques enregistrements utilisant la pagination d'hibernation qui doivent être affichés à l'interface utilisateur.Pagination avec un grand nombre d'enregistrements

Je peux utiliser la librairie display-tag ou jquery pour la pagination.

Merci d'avance.

+0

Il est préférable d'avoir une pagination. Vous pouvez récupérer les données à partir de la base de données une fois que l'utilisateur a modifié la page. et dans le premier cas, si vous récupérez toutes les données de la base de données en même temps, cela prend plus de temps à charger. –

Répondre

1

Si vous chargez les données récupérées dans les table moyens,

  1. Trouver le nombre total d'enregistrements et le nombre de pages mis

2.Dans la page changement obtenir les données offset et les données valeur -Limiter de la table et récupérer les données de la db

  1. Modifier la valeur de décalage de données de la table en fonction du numéro de page
0

Il est préférable d'avoir une pagination. Utilisez l'index et récupérez les données en conséquence. vous pouvez consulter this document pour plus

1

Quelques notes supplémentaires à d'autres réponses.

  1. Avec display tag vous pouvez utiliser ajax:displayTag de AjaxTags JavaScript-JSP Library pour charger les pages via AJAX. Notre équipe l'utilise intensivement. Cette classe simple peut être utilisée pour spécifier les paramètres de pagination pour Hibernate: Pagination. Gardez à l'esprit que, dans la vie réelle, vous utiliserez des requêtes avec des jointures. Il est impossible d'utiliser la pagination pour ce genre de demandes. Hibernate chargera tous les enregistrements en mémoire et retournera les données paginées de la mémoire. Dans de telles situations, il vaudrait mieux commencer par paginer ids et charger les données par ids.