0

我有这个 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包含两个相等的日期值,则约束有效。

有解决方法吗?

4

1 回答 1

0

最后决定对deletedAt字段使用默认的非空值。

于 2013-03-05T08:54:10.350 回答