Grails « propriété non NULL fait référence à une valeur nulle ou transitoire » exception sur les flux web

StackOverflow https://stackoverflow.com/questions/2045855

  •  20-09-2019
  •  | 
  •  

Question

Je reçois « org.springframework.dao.DataIntegrityViolationException: propriété non-nulle référence à une valeur nulle ou transitoire: A.b » exception sur les flux Web dans Grails 1.1.2. il y a

class B {
   ...
   static belongsTo = [a:A]
   ...
}

et

class A {
   ...
   static hasMany = [b:B]
   ...
}

Quelqu'un sait-il ce qui est faux? Merci Tom

Était-ce utile?

La solution

Résolu.

Il y avait un autre problème. Je ne rien qui persiste. Il est apparu quelques incohérences entre les données sérialisés dans le flux et les données conservées dans la base de données. Ainsi, une requête de sélection a provoqué cette exception.

Autres conseils

Cela va vraiment dépendre de ce que la plupart de vos paramètres et comment vous manipulez la création ou le maintien des objets GORM, pas votre graphe d'objet réel.

D'accord avec @John. L'une des solutions communes est, vous devriez économiser l'objet comme

a.addToB(b)
a.save()

it helps.

Ce problème est lié à l'ORM (je suppose que vous utilisez en veille prolongée ci-dessous). Le problème sera résolu si vous configurez la propriété en cascade des attributs mis en correspondance.

Je ne sais pas comment configurer dans Grails, mais ce document de mise en veille prolongée devrait vous aider à comprendre où le problème est le suivant: http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/objectstate.html#objectstate-transitive

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top