Grails “riferimenti di proprietà non-null un valore nullo o transitoria” di eccezione sul flusso web

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

  •  20-09-2019
  •  | 
  •  

Domanda

sto ottenendo "org.springframework.dao.DataIntegrityViolationException: not-null proprietà fa riferimento a un valore nullo o transitoria: a.b" eccezione sul flusso web in Grails 1.1.2. v'è

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

e

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

Qualcuno sa che cosa è sbagliato? Grazie Tom

È stato utile?

Soluzione

risolto.

C'è stato un problema diverso. Non stavo persistente nulla. Sono comparsi alcuni incongruenze tra i dati serializzati nel flusso e persistette dati nel database. Quindi una query di selezione causato questa eccezione.

Altri suggerimenti

Questa è veramente andando a dipendere più su ciò che i parametri sono e come si sta movimentazione creazione o il mantenimento degli oggetti Gorm, non il grafico oggetto reale.

Sono d'accordo con @ John. Una delle soluzioni più comuni è, si dovrebbe salvare l'oggetto come

a.addToB(b)
a.save()

Speranza che aiuta.

Il problema è legato alla ORM (immagino che si sta utilizzando in letargo sotto). Il problema sarà risolto se si configura la proprietà a cascata degli attributi mappati.

Non so come configurarlo in Grails, ma questo documento di Hibernate dovrebbe aiutare a capire dove sia il problema: http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/objectstate.html#objectstate-transitive

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top