Исключение нулевых свойств в Критерии Hibernate - PullRequest
1 голос
/ 13 марта 2012

Как удалить нулевые свойства из Критерии Hibernate.Например,

выберите ename, empno, empDate для сотрудника, где ename = 'check' и empno = '1234' и empdate = to_date ("22-июль-2000", "DD-MON-YYYY")

В приведенном выше примере ename, empno или empdate любое свойство может иметь значение null.

Как реализовать в критериях

Меня не беспокоит набор результатов, я беспокоюсьо том, как добавляются ограничения.Я хочу избежать следующего в коде:

if (((empno!= null) && (empno.trim().length()<=0)))
    {
        criteria.add(Restriction.eq("empno", empno))
    }

1 Ответ

3 голосов
/ 13 марта 2012

Как правило, вы не можете удалить одно свойство из результирующего набора, но вы можете установить критерии, по которым фильтры получат результат, если определенный атрибут имеет нулевое значение:

criteria.add(Expression.isNotNull("ename"));

Подробнее: Спящий режим Глава 16. Критерии запросов и здесь

...