我正在使用具有生成标识的Domain类:
class User {
...
static mapping = {
id generator: 'assigned', name: 'uid'
}
Long uid
...
}
但是当我尝试使用
检索实例时User.get(1)
它返回null。如果我使用
,它确实有效User.findByUid(uid)
生成ID时是否无法使用Domain.get或Domain.read?
答案 0 :(得分:1)
即使您的ID已分配,也无需声明属性。
class User {
static mapping = {
id generator: 'assigned' column: 'uid'
}
}
这里的关键是在数据库中映射列名。
答案 1 :(得分:1)
除了塞尔吉奥的回答
generator
策略为assigned
,这意味着应用程序在保存对象时必须assign
为id。如果您在下面执行了类似的操作,那么您应该能够获得User.get(1)
,否则会在保存时抛出异常,而不会分配id
def user = new User(id: 1).save(flush: true)