【发布时间】:2011-06-28 21:35:08
【问题描述】:
使用带有 grails 的 Groovy 脚本并希望更新数据库中的记录。我从 JSON 中获取对象并将其转换为 Domain 类,然后对其执行 save() 。据我了解,因为我是 Groovy 和 grails 的新手,如果“id”已经存在,则保存应该更新。但我不明白,我得到标准 SQL 错误“重复条目 '1' 键'PRIMARY'”。我该如何解决这个问题?
def input = request.JSON
def instance = new Recorders(input)
instance.id = input.getAt("id")
instance.save()
我的域名是:
class Recorders {
Integer sdMode
Integer gsmMode
static mapping = {
id generator: "assigned"
}
static constraints = {
sdMode nullable: true
gsmMode nullable: true
}
}
【问题讨论】:
-
正如 Rob Hruska 指出的那样,您必须从数据库中获取对象并对其进行更新;不创建具有重复 ID 的新的。
标签: sql grails groovy sql-update