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 为空。从数据库中检索状态的正确方法是什么?

4

3 回答 3

1

您可能在某处验证失败。做.save(failOnError: true),看看你是否得到异常。

此外,在 hibernate 实际执行插入之前,您将没有 ID。要立即触发此操作.save(flush: true)

于 2012-12-18T19:13:16.773 回答
0

缺少关键字static并且 State 有拼写错误(s最后没有),应该是:

static hasMany = [ states:State ]

static belongsTo = [ country:Country ]
于 2012-12-18T19:03:33.160 回答
0

country.save()调用后state.refresh()从数据库中获取其最新状态。这是必要的,因为您没有明确调用state.save()(也不应该如此)。

于 2012-12-18T19:15:29.657 回答