1 対多の関係の親と子を一度に永続化する必要があります。問題のドメイン オブジェクトはProjectand ProductLineItem(a Projecthas many ProductLineItems) です。
ユーザーが 'products' テーブルに 1 つ以上の行を追加できるページを作成しました。ユーザーがフォームを送信したときに、各行を新しいProductLineItem( が所有する) として保持したいと考えています。Project
初めてドメイン オブジェクトを保存するとうまくいきますが、(更新ページを介して) 同じオブジェクト セットを更新しようとすると、コントローラーで IndexOutOfBoundsException が発生します。
projectInstance.properties = params
productLineItemsコレクションを次のように宣言することで、これを修正できますProject-
Collection<ProductLineItem> productLineItems = ListUtils.lazyList(new ArrayList(), {new ProductLineItem()} as org.apache.commons.collections.Factory)
ただし、何らかの理由で、これによりProductLineItem.project、最初の保存を行うときにプロパティが設定されなくなります。
Grails 2.2.2 を使用しています。何か案は?