Почему мои критерии гибернации выдают исключение нулевого указателя? - PullRequest
2 голосов
/ 27 января 2012

Почему это работает нормально:

Object searchCores() {
    ...
    def core_criteria = sessionFactory.currentSession.createCriteria(Core.class)
    core_criteria.add(Restrictions.ilike('field', '%inputvalue%'))
    ...
}

, а это не во время выполнения:

Object searchCores() {
    ...
    def core_criteria = sessionFactory.currentSession.createCriteria(Core.class)
    core_criteria.add(X())
    ...
}   

Criterion X() {
    return Restrictions.ilike('field', '%inputvalue%'))
}

Ошибка:

Error 500: Internal Server Error    
Class java.lang.NullPointerException    
Message null    
at core_criteria.add(X()) line.

Точкавопрос в том, что в какой-то момент я хочу, чтобы функция X стала рекурсивной функцией, которая добавляет длинный список вложенных критериев Restrictions.or из списка ввода.

Я использую Grails 2.0.

Спасибо

Ред .Обратите внимание, что я только что обнаружил критерий дизъюнкции, чтобы решить мою потребность (/2414290/hibernate-criteria-query-vlozhennoe-sostoyanie), но вопрос все еще актуален, и я все еще хотел бы понять, что происходит.

...