0

我正在使用具有生成标识的域类:

class User {
   ...
   static mapping = {
      id generator: 'assigned', name: 'uid'
   }

   Long uid
   ...
}

但是当我尝试使用检索实例时

User.get(1)

它返回空值。如果我使用它确实有效

User.findByUid(uid)

生成 id 时不能使用 Domain.get 或 Domain.read 吗?

4

2 回答 2

1

即使分配了您的 id,也无需声明该属性。

class User {
  static mapping = {
    id generator: 'assigned' column: 'uid'
  }
}

这里的关键是映射数据库中的列名。

于 2013-04-16T20:05:54.430 回答
1

除了塞尔吉奥的回答

generator策略assigned意味着应用程序assign在保存对象时必须有一个 id。如果您在下面做了类似的事情,那么您应该能够得到,User.get(1)否则在保存时会引发异常而不分配id

def user = new User(id: 1).save(flush: true)

于 2013-04-16T20:12:22.270 回答