0

これらのドメイン クラスを使用すると、次のようになります。

class Country {
    static hasMany = [states:State]
}

class State {
    static belongsTo = [country: Country]
}

ID で状態を取得できません

def country = new Country()
def state = new State()
country.addToStates(state)
country.save()

def foundState = State.get(state.id)

foundState が null です。データベースから状態を取得する正しい方法は何ですか?

4

3 に答える 3

1

おそらくどこかで検証に失敗しています。.save(failOnError: true)実行して、例外が発生するかどうかを確認してください。

また、休止状態が実際に挿入を行うまで、ID はありません。これをすぐにトリガーするには、.save(flush: true).

于 2012-12-18T19:13:16.773 に答える
0

データベースから最新の状態を取得するためのcountry.save()呼び出し後。state.refresh()これが必要なのは、明示的に呼び出していないためですstate.save()(そうする必要はありません)。

于 2012-12-18T19:15:29.657 に答える
0

欠落しているキーワードstaticがあり、状態ごとにタイプミスがあります (s末尾なし)。次のようにする必要があります。

static hasMany = [ states:State ]

static belongsTo = [ country:Country ]
于 2012-12-18T19:03:33.160 に答える