Этот код, показанный выше, не работает
def authors = Author.findAllByPerson(persons)
потому что findAllBy*
работает с одним объектом, а не с коллекцией. Чтобы найти всех авторов, для которых Person
является любым из тех, которые содержатся в persons
, используйте либо HQL, либо запрос критерия. Например (непроверенный) HQL-запрос будет выглядеть примерно так:
Author.executeQuery("""
FROM Author a
WHERE a.person IN (:people)""", [people: persons])