Sto cercando di implementare due diversi tipi di relazioni tra due classi di dominio in Grails.Grails: più relazioni tra due oggetti dominio
Considerare quanto segue; Ho due classi di dominio, una classe autore e libro con un autore che ha molti libri.
class Author{
String name
}
class Book{
String title
static belongsTo = [author:Author]
}
Quanto sopra rappresenta una relazione molto basilare con molti tra un autore e un libro. Ma voglio anche che un autore abbia un concetto di un elenco di libri preferiti. Ciò sarebbe idealmente rappresentato come una relazione separata a molte che descrive lo stesso oggetto Book come una lista e persistente come tale.
class Author{
String name
static hasMany = [favouriteBooks: Book]
static mapping = {
favouriteBooks joinTable: [name: 'favourite_books',
key: 'author_id']
}
}
class Book{
String title
static belongsTo = [client:Client]
}
Ho provato a descrivere come sopra (tra molti altri metodi) e, infine, la tabella del database (favourite_books) non viene creato. Non ho errori. Questo è l'unico modo in cui posso pensare di farlo senza utilizzare oggetti aggiuntivi che vorrei evitare per mantenere il modello semplice. Sento di essere sulla strada giusta ma forse mi manca un pezzo fondamentale del puzzle.
Qualsiasi aiuto sarebbe molto apprezzato.
Hai provato a ** pulita, uscita, graal ** di nuovo, poi ** eseguire-app **. A volte Grails non rileva le modifiche al tuo dominio senza un 'clean' – ikumen
Nel primo esempio in alto ti manca la proprietà' hasMany' sul lato 'Autore' e nel secondo esempio non c'è alcun riferimento alla relazione' favouriteBooks' su il lato 'Book'. –