Повторяющийся псевдоним с вложенными отношениями - PullRequest
0 голосов
/ 20 марта 2019

Я довольно плохо знаком с grails и сложными запросами ORM в целом, но продолжаю получать дубликаты псевдонимов, когда делаю что-то похожее на это:

У меня есть объекты GORM в этом типе отношений:

class A {
    static hasMany = [b:B]
}

class B {
    C key
    String value
    static belongsTo = [a:A]
}

class C {
   String code
}

Я создаю отдельный критерий, подобный этому:

def criteria = new DetachedCriteria(A).list {
    or {
        for(bvalueList : values) {
            b {
                inList('value', bvalueList)
                c {
                    eq('code', 'somestaticstring')
                }
            }
        }
    }
}

И я получаю дубликат ошибки псевдонима: c_b_alias1, и я подумал, что мне нужно создать псевдоним для c следующим образом:

createAlias('b.c', 'calias')

но я получаю Аргумент [bc] не является ассоциацией

В любом случае, моя главная цель - выбрать все A, в которых значение B находится в списке, а ключ B - это ключ определенного типа.

Любая помощь будет оценена

...