0

私はドメインクラスを持っています:

class ProgramArea {
       String        programCd
       String        programArea
       String        description

    static constraints = {
programCd(nullable: false, unique: true)
              programArea(nullable: false, blank: false, unique: true)
              description(nullable: true, blank: true, maxSize: 50)
    }

}

データベースでは、programCd フィールドを「NOT NULL」フィールドにしたいと考えています。ただし、これはユーザー入力フィールドではありません。コントローラに programCd を生成するコードがあります。ただし、新しいデータを挿入しようとすると、programCd を null にすることはできないという検証エラーが発生します。

programCd の制約を「nullable: true」に変更すると、すべて正常に動作します。これに対する回避策があるかどうか誰かに教えてもらえますか?

4

2 に答える 2

0

クラスのオブジェクトに「programCd」の値を割り当てていることを確認してください。ここでエラーと思われるのは、programCD の値を生成している可能性がありますが、クラスのオブジェクトに追加していない可能性があるため、この値は null のままです。

コントローラーを確認するか、ここにコードを貼り付けてください。

于 2014-10-14T21:30:43.370 に答える
0

変更後、ドメイン インスタンスを再検証する必要がある場合があります。

programAreaInstance.programCd = 'something'
programAreaInstance.validate()
于 2014-10-15T08:08:43.040 に答える