我有一个抽象的域类:
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_base
和foo
。 Foo表不包含DomainBase的属性。
我希望它能让所有子类都有一个具有DomainBase
所有属性的表,但DomainBase
本身不应该有一个表。
我尝试了tablePerConcreteClass true
,tablePerHierarchy false
和tablePerSubclass true
,但没有任何结果可以达到我想要的效果。
那么我怎样才能让Hibernate为每个具有抽象类属性的SubClass创建一个表?