Я читал несколько анверов, но я все еще смущен. Зачем? потому что различия, которые вы упомянули, не связаны с производительностью. они связаны с легким использованием. (Objetc (критерии) и SQL (hql)). Но я хотел бы знать, почему "критерии" медленнее hql по какой-то причине.
Я читал это в другом андреве
"Существует различие в показателях производительности между HQL и критериемQuery, каждый раз, когда вы запускаете запрос с использованием критерияQuery, он создает новый псевдоним для имени таблицы, который не отражается в последнем запрошенном кеше для любой БД. Это приводит к накладные расходы на компиляцию сгенерированного SQL, что требует больше времени для выполнения". Варуном Мехтой.
Это очень близко, НО! я читаю на другом веб-сайте (http://gary-rowe.com/agilestack/tag/hibernate/) Это больше не относится к Hibernate 3.3 и выше (пожалуйста, прочтите следующее: 9) Спящий режим медленный, потому что SQL, сгенерированный Интерфейс критериев не согласован)
Я сделал несколько тестов, пытаясь выяснить различия, но оба генерируют qry, и это не изменяет псевдоним на таблицу.
Я очень смущен. Если кто-то знает основную причину, пожалуйста, не могли бы вы нам помочь. Благодаря