Grails GORM问题:对象引用未保存的临时实例

Grails GORM问题:对象引用未保存的临时实例,grails,gorm,Grails,Gorm,下面的Grails代码在尝试.save()Foo对象时引发以下异常: org.hibernate.TransientObjectException/ org.springframework.dao.InvalidDataAccessApiUsageException: object references an unsaved transient instance - save the transient instance before flushing: Bar 我想我遗漏了一些与从HTT

下面的Grails代码在尝试
.save()
Foo对象时引发以下异常:

org.hibernate.TransientObjectException/
org.springframework.dao.InvalidDataAccessApiUsageException: 
object references an unsaved transient instance - 
save the transient instance before flushing: Bar
我想我遗漏了一些与从HTTP参数自动填充域对象有关的GORM语义

我的问题很简单:

  • 什么是填充和保存Foo对象的正确方法,而不会出现异常
型号:

class Foo {
  Bar bar
}
视图:


如果“Bar”仅存在于Foo的上下文中,则将以下行添加到Bar.groovy

class Bar {
   static belongsTo = Foo

}
如果在其他上下文中使用“Bar”,则可以在Foo.groovy中使用

class Foo {
  Bar bar
  static mapping = {
    bar cascade:'all-delete-orphan'
  }


}

如果“Bar”仅存在于Foo的上下文中,则将以下行添加到Bar.groovy

class Bar {
   static belongsTo = Foo

}
如果在其他上下文中使用“Bar”,则可以在Foo.groovy中使用

class Foo {
  Bar bar
  static mapping = {
    bar cascade:'all-delete-orphan'
  }


}