我有四个具有共同属性的域类transID, createdDate,其中transID键入int并映射为表的主键。根据抽象规则,我们将公共(public)属性/属性分离为一个抽象类,然后让子类(在我的情况下为我拥有的四个域类)继承它们或对其进行extends编码。

在我的抽象类中,包含两个属性transID, createdDate,但是由于transID设置为四个子类的主键,因此我已经在抽象类中格式化了此映射。

static mapping = {
  id generator: 'increment',
     name: 'transID',
     column: 'transID',
     type: int
}

那时,我在运行项目时没有任何错误,但是当我检查dbconsole上的表时,看不到与四个域类相关的四个表,但我只看到具有第一个子代属性的抽象类。

有没有一种方法可以抽象提到的域类的ID,或者我必须将其映射到子类,而不是将其包含在抽象类中。

谢谢。

最佳答案

默认情况下,GORM在每个类层次结构中使用表,因此您将只有一个表-如果每个子类只需要一个表-您可以使用GORM DSL进行配置-请参见Inheritance in gorm

但是在过度使用每个子类的表之前要小心。

10-06 01:22