2016-09-16 4 views
4

現在、階層ごとのテーブルを介してマップされた一連のドメインサブクラスがあります。基本クラスの属性の1つは、各サブクラス内で一意である必要があります。私は、エラーを取り戻すサブクラスによる固有の制約

BaseClass { 
    String name 

    static constraints = { 
     name unique 'discriminator' 
    } 
} 

Scope for constraint [unique] of property [name] of class [class BaseClass] must be a valid property name of same class 

はのための識別器を使用することが方法です私の最初に考えたのは、複数カラムのユニーク制約を作成するための識別器を使用するには、このようなものでしたこの目的か、サブクラスごとに一意のプロパティを設定する別の方法?サブクラスごとの表への切り替えは実際に表にはありません。

答えて

2

これは時間の悲惨なカップルでした。上記のコードはほぼ似ていましたが、各サブクラスにあり、discriminatorの列名を使用する必要がありました。デフォルトは 'class'です。

SubClass extends BaseClass { 
    static constraints = { 
     name unique: 'class' 
    } 
} 
関連する問題