sql >> Base de Datos >  >> RDS >> Mysql

Paginación en Hibernate con tablas unidas

La paginación no funciona con colecciones unidas porque cuenta todas las filas que han satisfecho el where predicado (Hibernate no tiene nada que ver con esto, es como funcionan las bases de datos, por ejemplo Oracle rownum ).

La forma habitual de superar esto es usar subconsultas, de modo que rownum (o el equivalente en la base de datos utilizada) se aplica a las filas seleccionadas de una sola tabla (o tablas unidas que están en relaciones uno a uno).

En HQL:

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

El criterio equivalente se puede construir de manera similar.