2

私は 2 つのドメイン クラスを持っています。Course は 1 つまたは複数のトレーニングに属することができ、Track は 1 つまたは複数のコースを持つことができます。

Class Track{
   string name 
   static hasMany= [courses: Course]

}

Class Course{
   String name
   static belongsTo = [tracks: Track]

}

コースでページを作成し、フィールドを持っています

<g:select id="tracks" name="tracks.id" from="${com.springpeople.tms.Track.list()}" optionKey="id" value="${courseInstance?.tracks?.id}" class="many-to-one" noSelection="['null': '']"/>

しかし、トラックはコースに保存されません。トラック オブジェクトを明示的に渡す必要がありますか。それを行う方法はありますか?

4

1 に答える 1

2

最初に track クラス オブジェクトを保存し、次に Course クラス オブジェクトを保存する必要があります。

コースオブジェクトを保存しようとしている状況では、トラックIDを取得できないため、例外が発生します。

save メソッドでトラック クラス オブジェクトを保存した後。

その後、object.addToCourse(courseObject).save(); を使用します。保存するため。

于 2012-07-09T11:32:41.823 に答える