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'
    }
}

私が期待しているのは、次のような重複レコードを許可しない制約を作成することです。

id | 説明| is_active | 削除された_at  
1 | desc1 | 真| (ヌル)
2 | desc1 | 真| (ヌル)

しかし、このスティルは起こります。ここで何が欠けていますか?

UPD:これは、互いに比較されたnull値がある場合にのみ発生することがわかりました。2つの等しい日付値が含まれている場合deleted_at、制約は機能します。

そのための回避策はありますか?

4

1 に答える 1

0

最後に、フィールドに null 以外のデフォルト値を使用することにしましたdeletedAt

于 2013-03-05T08:54:10.350 に答える