He estado leyendo algunos torres, pero todavía estoy confundido. ¿Por qué? porque las diferencias que has mencionado no se relacionan con el rendimiento. están relacionados con el uso fácil. (Objetc (criterios) y SQL (hql)). Pero me gustaría saber si los "criterios" son más lentos que hql por alguna razón.Hibernate Criteria vs HQL: ¿qué es más rápido?
leí esto en otro anwers
"Hay una diferencia en términos de rendimiento entre HQL y criteriaQuery, cada vez que usted enciende una consulta mediante criteriaQuery, se crea un nuevo alias para el nombre de la tabla que no refleja en la última caché consultada para cualquier DB. Esto lleva a una sobrecarga de compilación del SQL generado, lo que lleva más tiempo para su ejecución ". por Varun Mehta.
Esto está muy cerca PERO! Lo leí en otro sitio web (http://gary-rowe.com/agilestack/tag/hibernate/) Este ya no es el caso con Hibernate 3.3 y versiones superiores (por favor, lea esto: 9) Hibernate es lento porque el SQL generado por el La interfaz de criterios no es consistente)
He hecho algunas pruebas para descubrir las diferencias, pero ambas generan qry's y no cambia el alias de la tabla.
Estoy muy confundido. Si alguien conoce el motivo principal, ¿podría ayudarnos? Gracias
Los criterios pueden hacer la mayoría de los tipos de combinación que HQL puede hacer, aunque a veces es un poco incómodo o difícil de entender (al menos en mi opinión). ¡Absolutamente correcto acerca de que HQL es más fácil de leer! –
Por cierto, votaría por tu respuesta ... pero en realidad no respondiste la pregunta de kcobuntu. –
Si va a copiar la respuesta de otra persona, al menos debería mencionarla. Enlace a la respuesta original: http://stackoverflow.com/a/197496/980103 –