Показатели grails 3.3 detached дают неверный результат - PullRequest
0 голосов
/ 03 мая 2018

У меня есть самоссылающийся класс Grails 3.3.5 формы (упрощенная версия)

class Animal {
    String name
    String dateOfBirth
    Animal sire
    Animal dam
}

Я использую DetachedCriteria для создания внутреннего запроса, управляемого интерфейсом .gsp таблиц JQuery, который показывает столбцы

name
dateOfBirth
sire.name
dam.name
dam.sire.name

и предоставляет фильтры столбцов для каждого столбца.

Похоже, что все это работает так, как ожидалось, за исключением одного случая: если я объединю значение фильтра для sire.name и dam.sire.name, результаты не будут возвращены никогда (ни сообщения об ошибке, ни каких-либо других признаков дистресс).

Два связанных с ними критериальных строителя выглядят так:

criteria = criteria.build {
    sire {
        ilike 'name', "%${v.search.value}%"
    }
}

и

criteria = criteria.build {
    dam {
        sire {
            ilike 'name', "%${v.search.value}%"
        }
    }
}

Для ясности, фильтрация по dam.name и dam.sire.name работает, как и ожидалось, как и по name и dam.sire.name, sire.name и dam.name и т. Д.

Я предполагаю, что существует какое-то взаимодействие между двумя соединениями с "sire", одним внутри соединения "dam".

Есть идеи? Заранее спасибо.

...