Grails. Конфликт имен

Как grails ведет себя при перекрытии полей и как разрешить ситуацию? Также как обратиться к полю child.parent.isAlive?

class Parent {
  Boolean isAlive
  static mapping = {
    table 'parents'
  }
}

class Child {
  Boolean isAlive
  static belongsTo = [parent: Parent]
  static mapping = {
    table 'children'
  }
}

Есть фильтр, который должен отсеивать записи по параметру с фронта

filter(HibernateCriteriaBuilder crit, Map params) {
...
  crit.with {
  ...
    if (!params.someBooleanParam) {
      or {
        isNull("child.parent.isAlive")
        eq("child.parent.isAlive", false)
      }
    }
  }
}

Вылетает ошибка, что нет указанного поля


Ответы (1 шт):

Автор решения: in_trance

Русское комьюнити по grails нулевое почти (

Пошел другим путем. Захардкодил прямым нативным запросом.

Есть предположение, что child.parent - это set, соответственно, нужно его обходить перед доступом к полю alive

→ Ссылка