Según la documentación de referencia de grails la relación hasOne es una relación uno a uno bidireccional por la tanto es necesario tener referencias cruzadas en las dos clases.
El ejemplo del libro es el siguiente:
Code:
class Persona {
String nombre
static hasOne = [direccion:Direccion]
}
class Direccion {
String calle
String codPostal
}
el cual no funciona ya que al ejecutar grails marca el siguiente error:
log4j:ERROR LogMananger.repositorySelector was null likely due to error in class reloading, using NOPLoggerRepository.
Para que el ejemplo del libro funcione como lo indica el texto es necesario agregar la referencia de Persona a la clase Direccion como sigue:
Code:
class Persona {
String nombre
static hasOne = [direccion:Direccion]
}
class Direccion {
String calle
String codPostal
Persona persona
}
Versión de grails utilizada: 1.2.2
url: documentación de referencia:
http://www.grails.org/doc/latest/ref/Domain%20Classes/hasOne.html