Le code ci-dessous Grails lève l'exception suivante lorsque vous essayez de .save()
l'objet Foo:problème Grails GORM: Object référence une instance transitoire non enregistré
org.hibernate.TransientObjectException/
org.springframework.dao.InvalidDataAccessApiUsageException:
object references an unsaved transient instance -
save the transient instance before flushing: Bar
Je suppose que je suis absent sur une partie de la sémantique dans GORM connexion avec le remplissage automatique des objets de domaine à partir des paramètres HTTP.
Ma question est simplement:
- Quelle est la bonne façon de remplir et enregistrer l'objet Foo, sans se faire ladite exception?
Modèle:
class Foo {
Bar bar
}
Vue:
<g:form id="${foo.id}">
<g:select name="foo.bar.id" from="${Bar.list()}" />
</g:form>
Controller:
class FooController {
def fooAction = {
Foo foo = new Foo(params)
foo.save()
[ foo: foo ]
}
}