Ich bin mit Grils 3.1.4 ausgeführt und Probleme beim Erstellen eines Schemas, mit dem ich mehrere Domänenobjekte an mehrere andere Domain-Objekte binden kann. Als ein Beispiel von dem, was ich versuche zu tun:Grails Domains - Multiple viele zu viele Beziehungen
Ich habe drei Klassen. Bücher, Autoren und Leselisten.
Autoren könnten viele Bücher geschrieben haben. Bücher können von mehreren Autoren geschrieben werden. Leselisten bestehen auch aus mehreren Büchern und Bücher können Teil mehrerer Leselisten sein. Wie soll ich die Domain dafür machen?
Ich habe versucht, sie bis zu wie folgt festgelegt:
class Author {
Long id
String firstName
String lastName
static hasMany = [books: Book]
}
class ReadingList {
Long id
String name
static hasMany = [books: Book]
}
class Book {
Long id
String title
Integer pageCount
static belongsTo = [author: Author, readingList: ReadingList]
static hasMany = [authors: Author, readingLists: ReadingList]
}
Beim Kompilieren ich diesen Fehler:
No owner defined between domain classes
[class firstapp.ReadingList] and [class firstapp.Book] in a many-to-many relationship.
Ich habe versucht, mein belongsTo Wert ändert genau das gleiche zu sein wie die hasMany, mit den Kartenschlüsseln, die Pluralverben sind, aber das scheint auch nicht zu funktionieren. Irgendwelche Gedanken darüber, wie ich das erreichen kann?
Dank
Könnten Sie haben eine vierte Klasse zur Überbrückung all IDs? Dies hätte seine eigene eindeutige ID und dann eine Spalte für jeden der drei Tabellenschlüssel. Sie würden dies mit jeder eindeutigen Kombination von IDs füllen. –