Clases de dominio de Grails y sus atributos

Hace un tiempo estamos trabajando sobre un proyecto utilizando el framework Gralis para su desarrollo. Como creo que escribimos en un post anterior, este es un framework realmente comodo para Groovy que permite un desarrollo ágil, rápido y moderno que promueve una arquitectura MVC para el desarrollo de aplicaciones web.

La clase central del modelo esta representada por las clases de dominio. En estas clases uno define los atrbutos que tienen que tener, algunas reglas de constraints a cumplir antes de poder ser correctamente persistidas a la baes de datos y algunas otras relaciones con las demas clases de dominio que conforman todo mi modelo de datos.

Sin embargo hay que tener cuidado con algunos detalles a la hora de implementar estas clases.

  • Al usar mucho groovy, uno se acostumbra a no definir tipos de datos, y usar siempre def. Sin embargo en las clases de dominio debemos siempre definir el tipo de datos de los atributos ya que es en base a esto el como mapea y genera la base de datos subyacente.
  • Por defaults un atributo no puede ser Null, entonces hay que recordar de agregarlo como nullable a la definición de contraints si es que puede darse el caso. Esto lo veo perfecto, por default la forma mas restrictiva, pero suele ser justo lo contrario a lo que estoy acostumbrado.
  • Hay que tener cuidado con los atributos transient

Mas tarde escribiré sobre los atributos transient y los getters y setters en las clases de dominio. Pensaba hacerlo en este post, pero los problemas que traen aparejados ameritan una entrada por si misma.


Discussion Area - Leave a Comment