Hibernate HQL NULL шаблон сравнения - PullRequest
0 голосов
/ 16 июля 2010

Представьте себе простую веб-страницу, позволяющую осуществлять поиск заказов следующим образом:

изображение веб-страницы http://locuslive.com/webdrive/booking.png

  • Если поле "Номер заказа" равно , а не заполнено Я хочу вернуть все строки.
  • Если поле Номер бронирования заполнено заполнено, я хочу только вернуть эту строку.

Я использовалшаблон в Hibernate (с базой данных MySQL) для достижения этой цели, который выглядит примерно так:

AND (:bookingNum IS NULL OR (:bookingNum IS NOT NULL AND :bookingNum = booking.bookingNumber))

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

Что другие делают в этой ситуации?

Спасибо,

D.

1 Ответ

1 голос
/ 16 июля 2010

Используйте запрос критерия Hibernate, добавляя предикат, только если параметр bookingNum не равен нулю.

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