Grails唯一验证异常,连续两次保存

时间:2016-02-10 08:37:54

标签: grails gorm

我们假设名称 id 是我的用户表中的唯一字段,并且我为这两个字段设置了唯一的约束。因此,如果我的值为 id 2 name" robel" ,为什么以下代码会给我验证例外?

User old = UserFindByName("robel")
old.setName("changed")
old.save(failOnError: true)
User neew = new User(name:"robel")
neew.save(failOnError: true)

我尝试设置断点并在保存 neew 之前检查的值是否已更改,我确定它已更改但最后一行给了我一个例外说法名:" robel"需要是独特的。为什么会发生这种情况?

1 个答案:

答案 0 :(得分:2)

在添加新实例之前,您应该flush changes。变化:

old.save(failOnError: true)

为:

old.save(failOnError: true, flush: true)
相关问题