Спящий режим - критерии против именованного запроса

Я пытаюсь сравнитьКритерии гибернации на именованные запросы для производительности. Я знаю, что все зависит от самого запроса, и последнее слово от того, как они профилируются во время выполнения. тем не менее, пытаясь разобраться, что входит в каждый.

я попытался организовать вопрос в двух частях и ищет проверки / исправления в обеих:

PART-1 - как работают Критерии Hibernate и именованные запросы в основном:

Критерии работают по параметрам. Во время выполнения запрос не нуждается в синтаксическом анализе - в нем есть несколько параметров поиска и «представление в форме», таких как упорядочивание результатов, возврат их как прокручиваемых и т. Д. Не читал и не проверял это, но Критерии работают по индексам полей (на основе параметров, установленных на них), чтобы сделать все это быстрее.

Таким образом, преимущество Criteria по сравнению с обычным HQL заключается в скорости выполнения.

Именованные запросы имеют то же преимущество перед HQL - запрос анализируется один раз при запуске. Затем выполняется везде, где это необходимо в приложении.

ЧАСТЬ 2 - сравнивая два:

Итак, на этой картинке

Как Критерии и именованные запросы сравниваются друг с другом?

Критерии хорошо работают для сложных запросов к нескольким таблицам и нескольким параметрам - есть средства для оптимизации и, следовательно, для быстрого выполнения запроса (?)

Именованные запросы имеют преимущество «определить один раз для использования везде» и вполне подходят для «легких» запросов - менее сложные поиски с небольшим количеством параметров, как правило, в одной таблице. даже лучше по частым запросам.

Примечание: видно очень полезноеКритерии гибернации против HQL: что быстрее? среди некоторых других дискуссий.

ТИА.

Ответы на вопрос(2)

Ваш ответ на вопрос