在验证并保存之前,我立即检查我的域对象:
class MyDomain ... {
static belongsTo = [owner: AnotherClass]
...
}
“所有者”设置正确。然后我验证;它过去了。然后我救了;它会抛出一个关于order_id为null的异常。即使在failOnError:false
中使用save
,它也会抛出。
在集成测试中会发生这种情况。
有什么想法吗?
答案 0 :(得分:2)
即使您的实例根据约束有效,保存也会失败,因为它取决于数据库。想象一下,如果你有:
class Person {
...
Integer age
...
static constraints = {
age nullable: true
}
}
一个例子:
def person = new Person(age: 9999)
在您的数据库表格中,人的年龄可以为最大值 999 。您的实例有效,但插入将引发错误。
依赖于触发器的外键和操作也会发生同样的情况。