2

検証して保存する直前に、ドメイン オブジェクトを確認します。

class MyDomain ... {
    static belongsTo = [owner: AnotherClass]
    ...
}

「所有者」が正しく設定されています。次に、検証します。それは通過します。それから私は保存します。order_id が null であるという例外がスローされます。failOnError:falseで使っても投げますsave

これは統合テストで発生します。

何か案は?

4

1 に答える 1

2

インスタンスが制約に従って有効であっても、データベースに依存しているため、保存が失敗する可能性があります。あなたが持っていると想像してください:

class Person {
  ...  
  Integer age
  ...
  static constraints = {
    age nullable: true
  }
}

そしてインスタンス:

def person = new Person(age: 9999)

また、データベース テーブルでは、人の年齢の最大値は999です。インスタンスは有効ですが、挿入するとエラーがスローされます。

同じことが、トリガーに依存する外部キーと操作でも発生する可能性があります。

于 2013-03-28T15:00:46.040 に答える