私はこの問題で立ち往生しています。コードは私には問題ないように見えます(明らかに私は何かが欠けています。問題はそれが何であるかです?)
プロジェクトクラスがあります
def class project{
...
Manager manager
}
これはPersonおよびManagerクラスの定義です
def class Person{
String firstName
String lastName
}
def class Manager extends Person{
static hasMany = [ projects: Project]
}
関係は単純です。プロジェクトには1人のマネージャーがいて、マネージャーには多くのプロジェクトがあります。私の知る限り、1対多の関係では、双方向の1対多であるため、保存はカスケードされます。しかし、私がこれを行うとき
Project project = new Project()
Manager mgr = new Manager(...)
project.manager = mgr
project.save()
次のエラーが発生します原因:org.hibernate.TransientObjectException:オブジェクトが保存されていない一時インスタンスを参照しています-フラッシュする前に一時インスタンスを保存してください:Manager
そして私がこれをするとき
Project project = new Project()
Manager mgr = new Manager(...)
project.manager = mgr
project?.manager.save()
project.save()
それはうまく機能します。しかし、project?.manger.save()は必要ないと思います!!