Sabemos que cuando creas una clase de dominio en Grails con una relación hasMany, automáticamente te crearán dos métodos para añadir o borrar instancias a la relación (addTo... y removeFrom...)
class Book {
static hasMany = [authors: Author]
}
Para añadir una instancia author dentro de Book habría dos formas de hacerlo,
def author = Author.get(1)
def book = Book.get(3)
book.addToAuthors(author) //La colección authors ya está inicializada
ó
book.authors << author //La colección tiene que estar inicializada antes con book.authors = []
En realidad solo hay una forma segura de agregar elementos: addTo(). Dado que este metodo se encarga de ajustar las relaciones bidireccionales entre classes de dominio, es decir, << no le importa si el otro lado tiene belongsTo o no.
ResponderEliminarGracias Andrés por inaugurar los comentarios en el blog.
Eliminar