Secciones

Artículos para tus primeros pasos

Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos: 

Entrevistas con los expertos
 

Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:


Un proyecto de:
ImaginaWorks
Campus Escuela de Groovy

Grails

Uso de varias relaciones "one to many" en una clase.

oswall - miércoles 07/01/2009

Saludos,

Tengo una clase que requiere dos  relaciones "one to many" con otras clases.

Me indica un error:  "the field is declared multiples times" .

Utilizo Netbeans 6.5 con el plugin para Grails en linux.

Cómo podría resolver el inconveniente.

Gracias de antemano,

 

Re: Uso de varias relaciones "one to many" en una clase.

idecasso - sábado 10/01/2009

Tal vez si ponemos el codigo de la clase, aunque pienso que pusiste por lo menos un atributo repetido, algo asi, si por ejemplo fueran libros y autores

class Book{

 

    static belongsTo = [autor:Autor]

}

Re: Uso de varias relaciones "one to many" en una clase.

idecasso - sábado 10/01/2009

Tal vez si ponemos el codigo de la clase, aunque pienso que pusiste por lo menos un atributo repetido, algo asi, si por ejemplo fueran libros y autores

class Book{

    Autor autor

    static belongsTo = [autor:Autor]

}

entonces, lo mas recomendable es dejar solo el atributo del belongsTo, aunque no recuerdo que hacer algo asi genere problemas o a lo mejor en el static hasMany de una de las clases te falto poner algun atributo.

belongsTo va del lado de las clases que tienen una sola referencia, en este caso el libro solo puede tener un autor, asi lo estamos manejando, y autor tendria un hasMay, osea muchos libros.

Ojala esto te sirva.

Re: Uso de varias relaciones "one to many" en una clase.

idecasso - sábado 10/01/2009

Tal vez si ponemos el codigo de la clase, aunque pienso que pusiste por lo menos un atributo repetido, algo asi, si por ejemplo fueran libros y autores

class Book{

    Autor autor

    static belongsTo = [autor:Autor]

}

entonces, lo mas recomendable es dejar solo el atributo del belongsTo, aunque no recuerdo que hacer algo asi genere problemas o a lo mejor en el static hasMany de una de las clases te falto poner algun atributo.

belongsTo va del lado de las clases que tienen una sola referencia, en este caso el libro solo puede tener un autor, asi lo estamos manejando, y autor tendria un hasMay, osea muchos libros.

Ojala esto te sirva.

Re: Uso de varias relaciones "one to many" en una clase.

oswall - viernes 16/01/2009

Saludos,

Ya lo resolví, solamente se incluyen las relaciones que se ocupan separadas por coma, de la siguiente forma:

static hasMany = [routes:Route, employees:Employee]

Gracias también por la ayuda.

Re: Uso de varias relaciones "one to many" en una clase.

idecasso - sábado 17/01/2009

Si, lo pasa es que la relacion en relidad es una lista, entonces, del lado del belongsTo tambien separas las relaciones con comas. El problema es cuando usas una Many to Many, tienes que especificar cual es el poseedor, osea una de las clases debe tener un belongsTo con la relacion a la otra clase, a parte de la relacion del hasMany:

 

class Book{

    static belongsTo = [autor:Autor]

    static hasMany = [autor:Autor]

}

 class Autor{

    static hasMany = [libros:Book] //Separadas con comas meterias otras relaciones

}

 

Lo bueno es que ya lo solucionaste, Te podria servir el libro Beginning Groovy and Grails, explican muchas cosas asi.

Responder al hilo | Volver al foro "Grails" | Volver a los foros