Как искать внутренний класс? - PullRequest
0 голосов
/ 17 марта 2010

У меня есть эти классы.

class Author{
    Person person
}


class Person{
    String lastName
    String firstName
    String middleName
}

Я бы хотел запросить Персона и Автор.

def persons = Person.findAllByLastNameiLike("${a}")

но, кажется, я не могу

def authors = Author.findAllByPerson(persons)

Есть идеи, как мне это сделать?

1 Ответ

2 голосов
/ 17 марта 2010

Этот код, показанный выше, не работает

def authors = Author.findAllByPerson(persons)

потому что findAllBy* работает с одним объектом, а не с коллекцией. Чтобы найти всех авторов, для которых Person является любым из тех, которые содержатся в persons, используйте либо HQL, либо запрос критерия. Например (непроверенный) HQL-запрос будет выглядеть примерно так:

Author.executeQuery("""
    FROM Author a
    WHERE a.person IN (:people)""", [people: persons])
...