1

我有一堂课:

class Facebook {

   long id
   String username
   String email
   String first_name
   String last_name
   Date birthday
   String gender
   String link
   static hasMany = [friends: FacebookFriend]

   static constraints = {
      id generator:'assigned'
      birthday blank:false, nullable:true
      gender blank:false, nullable:true
   }
}

基于HibernateGrails id generator:'assigned'的文档,我只需要能够手动设置 id。然而,每次我运行代码时,GORM 都会覆盖 ID,即使我在调用.save(flush:true, failOnError:true)方法之前手动设置了它。当我在保存之前和之后从对象输出 id 时,这就是我得到的:

ID before save is: 12345645

ID after save is: 1

我是 Grails 的新手,但根据我读过的所有内容,我似乎正在做我应该做的事情。谁能提供一些见解?谢谢!

我的下一步是在 Grails 2.3.4 上运行该应用程序以防万一。

4

1 回答 1

4

generator物业进入mapping街区,而不是constraints

static constraints = {
   birthday blank:false, nullable:true
   gender blank:false, nullable:true
}

static mapping = {
   id generator: 'assigned'
}
于 2014-02-16T01:05:40.973 回答