我有这个 Grails 域类:
class MyClass {
static auditable = true;
String description;
Boolean isActive=true;
Date deletedAt;
static constraints = {
description size: 1..250, blank: false, unique:['deletedAt', 'isActive'], index:'myclass_idx'
deletedAt nullable: true, index:'myclass_idx'
isActive index:'myclass_idx'
}
}
我期望它做的是创建一个不允许重复记录的约束:
编号| 描述 | is_active | 删除_at 1 | 描述1 | 真实 | (无效的) 2 | 描述1 | 真实 | (无效的)
但这仍然会发生。我在这里想念什么?
UPD:发现只有当空值相互比较时才会发生这种情况。如果deleted_at
包含两个相等的日期值,则约束有效。
有解决方法吗?