Grails “Propriedade NÃO NULL Referencia uma exceção de valor nulo ou transitório” no fluxo da Web
-
20-09-2019 - |
Pergunta
Estou recebendo "org.springframework.dao.dataintegrityViolationException: Not-null Property Referências Um valor nulo ou transitório: AB" Exceção no fluxo da Web no Grails 1.1.2. há
class B {
...
static belongsTo = [a:A]
...
}
e
class A {
...
static hasMany = [b:B]
...
}
Alguém sabe o que está errado? Obrigado Tom
Solução
Resolvido.
Havia um problema diferente. Eu não estava persistindo nada. Apareceu algumas inconsistências entre dados serializados no fluxo e os dados persistidos no banco de dados. Portanto, uma consulta selecionada causou essa exceção.
Outras dicas
Isso realmente dependerá mais do que são seus parâmetros e de como você está lidando com a criação ou manutenção dos objetos Gorm, não o seu gráfico de objeto real.
Concordo com @john. Uma das soluções comuns é que você deve salvar o objeto como
a.addToB(b)
a.save()
Espero que ajude.
Esse problema está relacionado ao ORM (acho que você está usando o Hibernate abaixo). O problema será resolvido se você configurar a propriedade em cascata dos atributos mapeados.
Não sei como configurá -lo em Grails, mas esse documento de Hibernate deve ajudá -lo a entender onde está o problema: http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/objectstate.html#objectstate-transitive