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

Suma

javierm - martes 25/05/2010

Ante todo disculpen por lo simple, pero no me sale.

Recién comienzo con Grails, y tengo unos datos, donde hay básicamente tres columnas, la primera es un nombre y las dos seguientes son números. 

Pero deseo dener una tercer columna con la suma de las dos anteriores, la cuál no es necesario que se almacene en al base de datos.

Mi intento fué el siguiente:

class A_prueba {
    String nombre
    Integer cantidad
    Integer precio
def hoy = new Date()

def resultado =
    {"cantidad + precio"}

Pero no obtengo la suma, seguramente hay más de una posibilidad, ¿cuál es la forma más apropiada?

 

 

 

 

Re: Suma

Nacho - martes 25/05/2010

Hola,

la mojor solución sería capturar un evento Hibernate para que se calculase el valor antes de guardar el objeto en base de datos, algo así:

class Clase{

  String nombre

  Integer cant1

  Integer cant2

  Integer cant3

   def beforeInsert() {
cant3 = cant1 + cant2
   }
def beforeUpdate() {
cant3 = cant1 + cant2
}

  static constraints{

    cant3 nullable:true

  }

}

 

De esta manera, cada vez que guardes un objeto de estos en la base de datos, antes se calculará la suma y se guardará en cant3. Es importante que en constraints pongas que cant3 es nullable, para que el objeto pase las validaciones correctamente (los eventos se aplican después de validar).

 

Saludos.

Re: Suma

javierm - miércoles 26/05/2010
gracias pude seguir sus consejos y llegar a lo que deseaba.
Responder al hilo | Volver al foro "Grails" | Volver a los foros