GORM继承表

时间:2015-07-07 14:40:23

标签: grails gorm

我有一个抽象的域类:

abstract class DomainBase { 
    Date created = new Date(), modified = new Date()
    Long createdBy, modifiedBy
    int dataStatus = 30 
    static mapping = { 
        tablePerSubclass true
        created column: 'erstellt_am'
        createdBy column: 'erstelle_von'
        modified column: 'bearbeitet_am'
        modifiedBy column: 'bearbeitet_von'
        dataStatus column: 'data_status'
    }

    static constraints = { 
        created(nullable: true, display: false)
        modified(nullable: true, display: false)
        modifiedBy(nullable: true, display: false)
        createdBy(nullable: true, display: false)
        dataStatus(nullable: false, display: false)
    }
}

我还有其他一些扩展DomainBase的类:

class foo extends DomainBase {
  String text
  static constraints = {
    importFrom(DomainBase)
  }
}

这导致2表domain_basefoo。 Foo表不包含DomainBase的属性。

我希望它能让所有子类都有一个具有DomainBase所有属性的表,但DomainBase本身不应该有一个表。

我尝试了tablePerConcreteClass truetablePerHierarchy falsetablePerSubclass true,但没有任何结果可以达到我想要的效果。

那么我怎样才能让Hibernate为每个具有抽象类属性的SubClass创建一个表?

0 个答案:

没有答案