def parent = Parent.findByChild(child)
отлично работает - вы можете использовать динамические искатели для скалярных полей (строк, чисел, логических значений и т. Д.) И других объектов.
Выполнение обратного действия и поиск всех Child
экземпляров для данного Parent
немного сложнее, но это можно сделать с помощью HQL:
def p = Parent.get(id)
def children = Parent.executeQuery(
'select c from Child c, Parent p where p.child=c and p=:parent',
[parent: p])