У меня есть 2 класса домена, которые сопоставлены отношением «многие ко многим».Я следовал инструкциям документации Grails, но у меня все еще есть некоторые проблемы при обработке данных в этих доменах.Вот мои 2 класса доменов:
class User {
String name
int age
String job
static hasMany = [groups : Group]
static belongsTo = [org : Organization]
}
class Group {
String groupName
String code
static hasMany = [members : User]
}
Мои проблемы:
1. Приведенные выше отношения требуют, чтобы один класс удерживал принадлежащий, чтобы быть "владельцем" отношения.В этом контексте Пользователь принадлежит к Группе, но я не знаю, как поместить принадлежность к классу Пользователя, потому что стандартный синтаксис, который предлагает Grails, является статическим принадлежащим = Группа (просто укажите имя класса владельца), поэтому яНевозможно:
- поместить его в существующую принадлежность, например: статическую принадлежность, = = [org: Organization, Group]
- или определить другую принадлежность, например: статическую принадлежность, = = [группа]
Ниже приведен пример справа:
class Book {Строка title static staticTo = Author static hasMany = [авторы: Author]
static mapping = {
authors joinTable:[name:"mm_author_books", key:'mm_book_id' ]
}
} Класс Author {String name statichasMany = [books: Book]
static mapping = {
books joinTable:[name:"mm_author_books", key:'mm_author_id']
}
}
(Ссылка: Таблицы ссылок «многие ко многим» в Grails (GORM) / hibernate))
Я имею в виду, что нам нужно указывать имя внешнего ключа таблицы соединения для каждого класса?
Если я хочу найти всех пользователей, которые являются членами указанной группы с именем «ABC», как я могу использовать DynamicFinder of Grails?
Большое вам спасибо