Grails域对象(GORM)继承

Grails域对象(GORM)继承,grails,gorm,domain-object,Grails,Gorm,Domain Object,我有4个Grails域类(Domain1、Domain2、Domain3、Domain4)。这些域对象映射到具有完全相同列集的传统表。更准确地说,所有这些表都有personFirstName、personLastName和personPhoneNumber列 这4个域类之间唯一不同的是它们引用的表名 不要在四个不同的位置复制/粘贴同一段代码,只需修改它: static mapping = { table name:"legacy_table_name_A" <==

我有4个Grails域类(Domain1、Domain2、Domain3、Domain4)。这些域对象映射到具有完全相同列集的传统表。更准确地说,所有这些表都有personFirstName、personLastName和personPhoneNumber列

这4个域类之间唯一不同的是它们引用的表名

不要在四个不同的位置复制/粘贴同一段代码,只需修改它:

 static mapping = {

       table name:"legacy_table_name_A"     <====== (only difference)

       firstName column: "personFirstName"
       lastName column: "personLastName"
       phoneNumber column:"personPhoneNumber"
 }
如何为每个域类实现静态映射,使其具有不同的表名

我正在使用Grails2.4.2

 class MyAbstractDomainClass {
        String firstName
        String lastName
        String phoneNumber

       static mapping = {
           firstName column: "personFirstName"
           lastName column: "personLastName"
           phoneNumber column:"personPhoneNumber"
      }
}

  class Domain1 extends MyAbstractDomainClass {

       static mapping = {

       }
  }