Hibernate - Critérios vs consulta nomeada

Estou tentando compararCritérios de hibernação para consultas nomeadas para desempenho. Estou ciente de que tudo depende da consulta real e a última palavra é sobre como eles perfilam em tempo de execução. ainda assim, tentando resolver o que se passa em cada um.

Eu tentei organizar o Q em duas partes e procurando verificação / correção em ambas:

PARTE 1 - como os Critérios de Hibernação e as consultas nomeadas funcionam basicamente:

Critérios trabalha com parâmetros. No tempo de execução, a consulta não precisa ser analisada - possui vários parâmetros de pesquisa e "presente no formulário", como ordem dos resultados, retorno como rolagem etc. Não foram lidos / verificados, mas os Critérios funcionam por índices nos campos (com base nos parâmetros definidos neles) para tornar tudo mais rápido.

Portanto, a vantagem dos Critérios em comparação com o HQL comum é sua velocidade durante a execução.

As consultas nomeadas têm a mesma vantagem sobre o HQL - a consulta é analisada uma vez na inicialização. Em seguida, é executado a partir de onde necessário no aplicativo.

PARTE 2 - comparando os dois:

Então nesta foto,

como critérios e consultas nomeadas se comparam?

Os critérios funcionam bem para consultas complicadas em várias tabelas e vários parâmetros - tem os meios para otimizar e, assim, tornar a consulta rápida (?)

as consultas nomeadas têm a vantagem de "definir uma vez use em qualquer lugar" e são ótimas para consultas "leves" - pesquisas menos complicadas com pequena quantidade de parâmetros normalmente em uma única tabela. ainda melhor em consultas frequentes.

Nota: visto o muito útilCritérios de Hibernação vs HQL: qual é mais rápido? entre algumas outras discussões.

TIA.

questionAnswers(2)

yourAnswerToTheQuestion