sql >> Database >  >> RDS >> Mysql

Paginering in slaapstand met samengevoegde tabellen

Paginering werkt niet met samengevoegde collecties omdat het alle rijen telt die voldoen aan de where predikaat (Hibernate heeft hier niets mee te maken, het is hoe databases werken, bijvoorbeeld Oracle rownum ).

De gebruikelijke manier om dit te verhelpen is door subquery's te gebruiken, zodat rownum (of het equivalent in de gebruikte database) wordt toegepast op de geselecteerde rijen van slechts één tabel (of samengevoegde tabellen die in op-één-relaties staan).

In HQL:

select p from Parent p were p in (select c.parent from Child c where ...)

De equivalent van criteria kan op een vergelijkbare manier worden gebouwd.



  1. PHP MySQL-query meest populair in de afgelopen 24 uur

  2. mysql triggers simulatie van beweringen

  3. Hoe ORA-00900 op te lossen?

  4. Hoe kan ik een wekelijkse cohortanalysetabel maken met mysql?