Tengo un problema con un servicio de NestJs que usa Typeorm e implementa la lógica de paginación.
Cuando uso limit y offset en una consulta que ejecuto usando QueryBuilder, no devuelve todos los resultados (es decir, limit 10 devuelve solo 8 resultados). ordenar por un campo de relación sin mapearlo también. El problema comenzó cuando cambié mi límite y compensación para tomar y saltar.
Se vuelve defectuoso cuando uso order by en una columna de relación I innerJoin.
Por ejemplo:
querybuilder = querybuilder.innerJoin(profile.service, service)
entonces trata de hacer
queryBuilder = queryBuilder.orderBy("service.price", "ASC")
Devuelve un error
columna distinguibleAlias.service_price no existe
Esto se debe a que parece que debe dejar la relación JoinAndSelect para que el alias del campo se incluya en la consulta.
No quiero seleccionar las relaciones sino solo la entidad base. ¿Hay alguna manera de evitarlo?
El límite y el desplazamiento como utilidades de paginación no son una opción, ya que en los documentos en sí dice que no se deben usar al agregar uniones a la consulta.