Возьмите его, что предописание доберется, Ваш код для компиляции (obj создается). Соединение однако (exe создание) не будет успешно, если определения не будут найдены.
Вы можете изменить режим оптимизатора во время сеанса уровень:
Проблема в том, что синтаксис подсказки не является комментарием, он просто немного похож. На самом деле он должен находиться между SELECT
и выбранными столбцами, тогда как setComment ()
добавляет комментарий перед SELECT
.
Кроме того, есть никаких серебряных пуль. FIRST_ROWS
не является средством повышения производительности. Чтобы вернуть все строки обратно, может потребоваться больше времени. Конечно, в пользовательской программе получение первых десяти строк может быть всем, что нам нужно сделать.
Но, как бы вы ни отреагировали, если вы хотите использовать синтаксис подсказок Oracle, вам нужно будет пойти по маршруту Native SQL.
Что еще вы можете сделать? У меня (пока) нет большого опыта настройки Hibernate. Один раз, когда я выполнял такую задачу, запрос собирал строки из целой группы таблиц для создания экземпляра объекта с множеством подтипов. Каждый подтип представлял собой отдельную таблицу. В запросе, сгенерированном Hibernate, было много ВНЕШНИХ СОЕДИНЕНИЙ, что сбивало с толку оптимизатор. Разбив этого монстра на несколько сфокусированных запросов (по одному на каждый подтип), в которых использовались только ВНУТРЕННИЕ СОЕДИНЕНИЯ, время поиска сократилось в двести раз.
Это может не принести вам немедленной пользы. Но принцип состоит в том, что посмотрите на запрос Hibernate и посмотрите, можно ли его реализовать другим, более эффективным способом.
взгляните на запрос Hibernate и посмотрите, можно ли его реализовать другим, более эффективным способом. взгляните на запрос Hibernate и посмотрите, можно ли его реализовать другим, более эффективным способом.