/ / Añadir nueva instancia hijo en Grails - grails

Agregar una nueva instancia hija en Grails - Grails

¿Cuál es la mejor práctica para agregar otra instancia de niño en griales?

Si tengo estos dominios

class Parent {
String name
static hasMany = [children: Child]
}

class Child {
String name
static belongsTo = [parent: Parent]
}

¿Obtengo manualmente el ID del padre y lo guardo en la instancia secundaria si quiero crear un nuevo hijo?

Respuestas

1 para la respuesta № 1

Prueba esto:

Parent parent = Parent.get(parentId)

Child child = new Child(
parent: parent,
name: "name"
)

child.save()
parent.addToChildren(child)
parent.save()

o...

Parent parent = Parent.get(parentId)
Child child = new Child()
child.name = "name"
child.parent = parent
child.save()
parent.addToChildren(child)
parent.save()

0 para la respuesta № 2

El código de rcgeorge es válido pero no es necesario que guarde al niño antes de usar el método addTo, ya que se guardará en cascada. Así que ...

Parent parent = Parent.get(parentId)

Child child = new Child(
parent: parent,
name: "name"
)

parent.addToChildren(child)
parent.save()