Grails FindAllBy возвращает список с нулевыми объектами - PullRequest
0 голосов
/ 13 декабря 2018

в нашем журнале была следующая строка: java.lang.NullPointerException: Невозможно получить свойство '' parentId '' для нулевого объекта

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

List<Jobs> jobs = Jobs.findAllByCustomerIdAndValidThruAndReferenceId(session.customer.id, null, reference.id)
    for (Jobs job : jobs) {
        def parentId = job.parentId == null ? job.id : job.parentId
        [...]
    }

Да, это не более того.Afaik findAll вернет ноль, когда ничего не найдено, и не выполнит цикл foreach.Если он найдет какие-то результаты, появится список объектов, таких как [Jobs, Jobs, Jobs].Ссылаясь на исключение, должен быть список вроде [Jobs, null, null, Jobs] или similiar.

Итак, главный вопрос: есть ли вероятность, что Grails или Hibernate выдаст список, содержащий нулевые объекты снайти все?Как это вообще возможно, и можем ли мы усилить это, проверив, является ли объект нулевым?

Я не мог найти эту проблему где-либо еще, и я также не мог воспроизвести / отладить эту проблему локально.

Спасибо

...