2010-03-17 3 views
0

У меня есть эти классы.Как искать внутренний класс?

class Author{ 
    Person person 
} 


class Person{ 
    String lastName 
    String firstName 
    String middleName 
} 

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

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

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

def authors = Author.findAllByPerson(persons) 

Любые идеи, как я бы это сделать?

ответ

2

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

def authors = Author.findAllByPerson(persons) 

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

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

Спасибо, что-то подобное. – Neoryder