我有一个班级:
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
}
}
根据Hibernate和Grails id generator:'assigned'
的文档,我需要手动设置ID。但是,每次运行代码时,ID都会被GORM覆盖,即使我在调用.save(flush:true, failOnError:true)
方法之前手动设置它。当我在保存之前和之后从对象输出id时,这就是我得到的:
ID before save is: 12345645
ID after save is: 1
我是Grails的新手,但基于我读过的所有内容,似乎我正在做我应该做的事情。谁能提供一些见解?谢谢!
我的下一步是在Grails 2.3.4上运行应用程序以防万一。
答案 0 :(得分:4)
generator
属性位于mapping
区块,而不是constraints
:
static constraints = {
birthday blank:false, nullable:true
gender blank:false, nullable:true
}
static mapping = {
id generator: 'assigned'
}