Grails GORM ведет себя странно - PullRequest
       32

Grails GORM ведет себя странно

0 голосов
/ 13 декабря 2018

Я испытываю следующее очень странное поведение с запросами Grails GORM ...

ПРИМЕЧАНИЕ. У меня создано 20 экземпляров MyDomain.Т.е. 20 records

CASE 1

 List<MyDomain> case1Results = MyDomain.where {
            (isTypeA == true) && (relation1.relation2.relation3.organization == org)
 }.list()

В этом случае case1Results - пустой список.

CASE 2

 List<MyDomain> case2Results = MyDomain.where {
                (isTypeA == true)
 }.list()

В этом случае case2Results содержит сохраненные мной 20 records.

Кажется, все это доходит до этой точки.Это показывает, что 20 записей не связаны с organization.Однако ...

ПРОБЛЕМА:

, когда я беру case2Results и делаю следующее ...

println(case2Results.every {
    it.relation1.relation2.relation3.organization == org
}) //true

Я получаю true

ИЛИ:

case2Results = case2Results.findAll{
    it.relation1.relation2.relation3.organization == org
}

Здесь case2Results все еще содержит 20 records, как в CASE 2 выше, а не 0 какв СЛУЧАЕ 1

Я не могу обернуться вокруг этого поведения и даже не знаю, как объяснить это, если бы не эти примеры.Кто-нибудь знает, почему это происходит и как это исправить?

PS: Каждый из моих классов доменов имеет статические карты ownTo и hasMany, создающие отношения между классами домена.

PS: Такое поведение наблюдается, когда я запускаю модульные тесты, но хорошо работает в реальной тестируемой функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...