子类

时间:2016-09-16 21:35:22

标签: grails

我目前有一组通过table-per-hierarchy映射的域子类。基类中的一个属性需要是唯一的,但只能在每个子类中。我最初的想法是使用鉴别器来创建一个多列唯一约束,如下所示:

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

有没有办法为此目的使用鉴别器或另一种方法来设置每个子类唯一的属性?切换到每子类表不是真的在桌面上。

1 个答案:

答案 0 :(得分:2)

那是一段令人痛苦的几个小时。上面的代码几乎是正确的,只需要在每个子类中并使用鉴别器的列名,默认为' class'。

SubClass extends BaseClass {
    static constraints = {
        name unique: 'class'
    }
}