как установить параметр Hibernate на "null" ? Пример:
Query query = getSession().createQuery("from CountryDTO c where c.status = :status and c.type =:type")
.setParameter("status", status, Hibernate.STRING)
.setParameter("type", type, Hibernate.STRING);
В моем случае строка состояния может быть нулевой. Я отлаживал это, и hibernate затем генерирует SQL-строку/запрос, подобный этому.... status = null
... Это, однако, не работает в MYSQL, так как правильный оператор SQL должен быть "status is null
" (Mysql не понимает status = null и оценивает это значение как false, так что никакие записи никогда не будут возвращены для запроса, в соответствии с документами mysql, которые я прочитал...)
Мои вопросы:
-
Почему doesnt
Hibernate
правильно переводит пустую строку в "null" (а скорее и неправильно создает "= null" )? -
Каков наилучший способ переписать этот запрос так, чтобы он был нулевым? С nullsafe я имею в виду, что в случае, когда строка состояния имеет значение NULL, чем она должна создать "null" ?
Большое спасибо! Тим