Lo + Leído
Eventos destacados
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:
- Introducción a Groovy, parte 1 (Andrés Almiray)
- Introducción a Groovy, parte 2 (Andrés Almiray)
- Introducción a Groovy, parte 3 (Andrés Almiray)
- Introducción a Grails (Material Seminario ImaginaWorks)
Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:
Grails
Problema con Hibernate
JoseAngel - martes 03/11/2009Hola grupo,
Tengo mi servicio:
class AdministradorService {
boolean transactional = true
def altaUsuariosFichero(params) {
File fichero = new File(params)
Grupo grupoNulo = new Grupo(null)
def numeroUsuarios = 0
fichero.splitEachLine(';'){ lista ->
if (lista[0] != 'NOMBRE') {
new Usuario(nif: lista[3],
nombre: lista[0],
apellido1: lista[1],
apellido2: lista[2],
contrasegna: "",
correo: lista[10],
direccion: "",
telefonoFijo: "",
telefonoMovil: "",
codigoPostal: "",
correoVisible: true,
recibirNotificaciones: true,
grupo: grupoNulo).save()
numeroUsuarios++
}
}
return numeroUsuarios
}
}
Como al introducir un usuario desde un fichero no conozco al grupo al que va a pertenecer, le pongo un grupo nulo. Esta chapucilla me sirve, mete todos los usuarios y no da ningún error al actualizar la vista, pero en la consola de NetBeans aparece este mensaje:
2009-11-03 00:56:24,708 [3453776@qtp0-0] ERROR errors.GrailsExceptionResolver - object references an unsaved transient instance - save the transient instance before flushing: Grupo; nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: Grupo
org.springframework.dao.InvalidDataAccessApiUsageException: object references an unsaved transient instance - save the transient instance before flushing: Grupo; nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: Grupo
...
Por otra parte si en vez de: Grupo grupoNulo = new Grupo(null) pongo Grupo grupoNulo = new Grupo() me da un error en la vista pero si la actualizo me salen los nuevos usuarios que grabe del fichero. No se si es importante pero por si acaso lo pongo.
¿Sabe alguien como evitar el mensaje de NetBeans?
Saludos y gracias!!
Re: Problema con Hibernate
JoseAngel - martes 03/11/2009Muchas gracias! Había pasado por alto el uso de constraints.
Saludos.
Re: Problema con Hibernate
Nacho - martes 03/11/2009Hola,
podrías simplemente añadir nullable:true en las constraints para la propiedad grupo. De esta manera ya no es obligatorio proporcionarlo.
Saludos,