sql >> Databasteknik >  >> RDS >> Mysql

Paginering i Hibernate med sammanfogade tabeller

Paginering fungerar inte med sammanfogade samlingar eftersom den räknar alla rader som har uppfyllt where predikat (Hibernate har inget med detta att göra, det är hur databaser fungerar, till exempel Oracle rownum ).

Det vanliga sättet att övervinna detta är att använda subqueries, så att rownum (eller motsvarande i databasen som används) tillämpas på de valda raderna i endast en tabell (eller sammanfogade tabeller som är i ett-ett-förhållande).

I HQL:

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

kriteriemotsvarigheten kan byggas på liknande sätt.



  1. Django connect mysql problem, NameError:namnet '_mysql' är inte definierat

  2. Lös problem med SQL Server-databas som fastnat i misstänkt läge effektivt

  3. PL/SQL-samling:Kapslad tabell i Oracle-databas

  4. Saknar oanvända mysql-anslutningar ner skript?