1

我已将以下域映射到 mysql 数据库:

class User {
  String username
  String passwordHash 

static mapping={
    table 'team'
    version false
    passwordHash column: 'Password' 
    id column: 'username', name: 'username'
   }
}

当尝试执行实例的 save() 时,hibernate 总是执行这个查询:

休眠:更新团队设置密码=?用户名=?

调用保存():

def save(){
   def userInstance = new User()
   userInstance.username = "test"
   userInstance.passwordHash = "abcd"
   if(!userInstance.save(flush:true)){
       //
   }
}

我已经尝试将flush:true更改为insert:true。没有效果。

4

1 回答 1

2

这是我在上一个问题中没有告诉你的。您必须像assigned使用自己的标识符并分配自己的id. 所以:

id column: 'username', name: 'username', generator: 'assigned'

此外,我建议使用域名作为Teamtableteam而不是User,否则我不确定它会不会好。

于 2013-09-11T22:30:46.377 回答