У меня была та же проблема: создание отношения многих ко многим И отношения 1 ко многим между одними и теми же двумя классами.
Это можно сделать следующим образом:
Класс пользователя:
class User{
static hasMany = [createdPosts: Post, subscribedToPosts : Post]
static mappedBy = [createdPosts : "creator"]
}
Почтовый класс:
class Post{
User creator
static hasMany = [subscribers: User]
static belongsTo = User
}
Я нашел этот ответ в этом обсуждении