Hibernate - Criterios vs consulta nombrada

Estoy tratando de compararCriterios de hibernación a consultas con nombre para el rendimiento. Soy consciente de que todo depende de la consulta en sí y la última palabra es sobre cómo se perfilan en tiempo de ejecución. aún así, tratando de resolver lo que hay en cada uno.

Traté de organizar la Q en dos partes y busqué verificación / corrección en ambas:

PARTE 1 - cómo funcionan básicamente los criterios de Hibernate y las consultas con nombre:

Los criterios funcionan en los parámetros. En tiempo de ejecución, la consulta no necesita análisis: tiene varios parámetros de búsqueda y "presente en forma" como ordenar los resultados, devolverlos como desplazables, etc. No lo he leído / verificado, pero Criteria funciona por índices en los campos (según los parámetros establecidos en ellos) para que todo sea más rápido.

Por lo tanto, la ventaja de Criteria en comparación con HQL simple es su velocidad durante la ejecución.

Las consultas con nombre tienen la misma ventaja sobre HQL: la consulta se analiza una vez al inicio. Luego se ejecuta desde donde sea necesario en la aplicación.

PARTE 2 - comparando los dos:

Entonces en esta foto,

¿Cómo se comparan los criterios y las consultas con nombre?

Los criterios funcionan bien para consultas complicadas en varias tablas y múltiples parámetros: tiene los medios para optimizar y, por lo tanto, hacer que la consulta sea rápida (?)

las consultas con nombre tienen la ventaja de "definir una vez que se usa en todas partes" y son bastante adecuadas para consultas "ligeras": búsquedas menos complicadas con una pequeña cantidad de parámetros, generalmente en una sola tabla. incluso mejor en consultas frecuentes.

Nota: visto lo muy útilCriterios de Hibernate vs HQL: ¿cuál es más rápido? entre algunas otras discusiones.

TIA