По сути, вам нужно изменить отображение так, чтобы отношение M: M выражалось как два отношения 1: M. Вот пример, где класс присоединения равен BadgeOwner
(поэтому по умолчанию сгенерированная таблица объединения будет называться badge_owner
)
class Badge {
static hasMany = [owners: BadgeOwner]
}
class User {
static hasMany = [owners: BadgeOwner]
}
class BadgeOwner {
static belongsTo = [user: User, badge: Badge]
Date dateCreated
Date lastUpdated
}