Hibernate HQL или Критерии - PullRequest
2 голосов
/ 13 мая 2011

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

Ответы [ 2 ]

5 голосов
/ 13 мая 2011

Если вашему запросу требуется динамическое число полей в предложении where, и вы не знаете априори, используйте критерии.Если в вашем запросе всегда используется одно и то же предложение where, но вы, возможно, можете подставить значения, используйте hql.

Вы также можете использовать критерии и в последнем случае.

Суть в том, что не нужно динамически создавать выражение hql where с кучей конкатенаций строк.

0 голосов
/ 13 мая 2011

Я предпочитаю hql над критериями и предлагаю использовать hql, когда это возможно.

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

Я также считаю, что hql гораздо более читабелен, чем код критерия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...