El soporte de criterios de Hibernate proporciona un método setMaxResults()
para limitar los resultados devueltos por el db.Criterios de Hibernación ¿Mecanismo de límite?
No encuentro ninguna respuesta a esto en su documentación. ¿Cómo se implementa esto? ¿Está consultando todo el conjunto de resultados y luego solo devuelve el número de solicitud? ¿O está realmente limitando la consulta en el final de la base de datos (piense en la palabra clave LIMIT como en mySql).
Esto es importante porque si una consulta podría devolver muchos resultados, realmente necesito saber si el setMaxResults()
seguirá consultando todas las filas de la base de datos (lo que sería malo).
Además, si realmente limita el número de filas en el final de la base de datos, ¿cómo está logrando este cross-db (ya que no creo que cada rdbms sea compatible con una funcionalidad LIMIT como mySql).
Intersting. Entonces, ¿por qué crees que no proporcionaron una forma de limitar el uso de HQL si pueden transformarse al dialecto específico dado un criterio setMaxResults? – john
eche un vistazo en http://stackoverflow.com/questions/1239723/how-do-you-do-a-limit-query-in-hql – Ritesh
Esto puede proporcionar cierta claridad: http://stackoverflow.com/questions/1239723/how-do-you-do-a-limit-query-in-hql.Según entiendo, todo se reduce a mantener la base de datos de partes HQL independiente, las características específicas del dialecto se realizan a través de llamadas a métodos adicionales como setMaxResults – brent777