Quelle est la différence entre setMaxResults
et setFetchSize
dans org.hibernate.Query? Je ne peux tout simplement pas l’obtenir =)
setMaxResults
est identique à LIMIT
dans SQL – vous définissez le nombre maximal de lignes à renvoyer. Ceci est un cas d’utilisation très courant bien sûr.
setFetchSize
concerne l’ optimisation , ce qui peut changer la façon dont Hibernate envoie les résultats à l’appelant (par exemple: tamponné, en différentes tailles). setFetchSize
n’est PAS implémenté par tous les pilotes de firebase database.
setMaxResults
limite le nombre de résultats que la requête obtiendra jamais.
setFetchSize
indique au pilote jdbc le nombre de lignes à renvoyer dans un bloc, pour les requêtes volumineuses. Disons que vous voulez 1000 lignes. Si vous définissez la taille d’extraction sur 100, la firebase database renverra 100, puis 100 autres lorsque vous en voudrez plus, etc. setFetchSize
ne fera rien si votre pilote ne le prend pas en charge.
Par exemple, si la table a 100 enregistrements, alors
criteria.setMaxResults(25);
ne récupèrera que 25 enregistrements sur 100, et
criteria.setFetchSize(20);
va chercher 20 enregistrements à chaque fois jusqu’à ce qu’il lise les 100 enregistrements de la table.