私はこの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
、制約は機能します。
そのための回避策はありますか?