Съдържание:

Кой е по-добър HQL или критерии?
Кой е по-добър HQL или критерии?

Видео: Кой е по-добър HQL или критерии?

Видео: Кой е по-добър HQL или критерии?
Видео: Выпуск 120. Знакомство с запросами на HQL и что с этим делать. 2024, Може
Anonim

Критерии , на теория трябва да има по-малко режийни разходи от an HQL заявка (с изключение на наименуваните заявки, до които ще стигна). Това е така, защото Критерии няма нужда да анализира нищо. HQL заявките се анализират с ANTLR-базиран анализатор и след това полученият AST се превръща в SQL. Критерии - Няма нужда от анализиране преди генериране.

Точно така, каква е разликата между HQL и критериите?

HQL може да извършва както операции за избор, така и операции без избор. Критерии може само да избира данни, не можете да извършвате операции без избор с помощта на критерии запитвания. HQL не поддържа пагинация, но може да се постигне с Критерии . Критерии е безопасно от SQL инжектиране.

Второ, каква е ползата от Hibernate Criteria API? В Хибернация , на API на критериите ни помага да изградим критерии запитвайте обекти динамично. Критерии е друга техника за извличане на данни, освен HQL и естествени SQL заявки. Основното предимство от API на критериите е, че е интуитивно проектиран да манипулира данни, без да се използват твърдо кодирани SQL изрази.

По същия начин може да попитате кое е по-добро HQL или SQL?

Местен SQL не е непременно по-бързо от HQL . HQL накрая също е преведен на SQL (можете да видите генерирания израз, когато стартирате приложението със свойството show_sql, зададено на true). При достъп до база данни времето се губи при търсене в реда, а не при прехвърляне на данните във вашето приложение.

Как се прави критерий?

Прилагане на критерии към заявка

  1. Отворете заявката си в изглед за проектиране.
  2. В решетката за проектиране на заявка щракнете върху реда Критерии на полето, където искате да добавите критерия.
  3. Добавете критериите и натиснете ENTER.
  4. Щракнете върху Изпълни, за да видите резултатите в изглед на лист с данни.

Препоръчано: