У меня есть самоссылающийся класс 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".
Есть идеи? Заранее спасибо.