以下是所有情况 我有一个抽象类AbstractProfile和一个具体类GoogleProfile
abstract class AbstractProfile {
.....
}
class GoogleProfile extends AbstractProfile {
......
}
我正在使用grails但是gorm没有为google profile插入表格当前gorm正在插入表格,只有AbstractProfile类请帮助提前感谢
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用:
abstract class BaseDomain {
static mapping = {
tablePerConcreteClass true
id generator: 'increment'
version false
}
}
答案 2 :(得分:0)
Grails 2.0持久化抽象类。为了使单个表能够扩展类,您需要指定:
static mapping = {
tablePerHierarchy false
}
到抽象类。否则整个层次结构将“存在”在同一个表中。
答案 3 :(得分:0)
跟进Михаил的好回答,两件不同的事情对我有用。
这对我来说效果最好,因为应用了基类和子类的约束。在子类中没有空列对我的用例很重要。但是,似乎只使用子类中的映射块。
tablePerConcreteClass true
这里的一个优点是它允许在BaseDomain类中声明索引,然后在每个子类表中出现,即使用来自基类和子类的映射块。只显示基类中的约束。
abstract class BaseDomain {
static mapping = {
tablePerHierarchy false // avoid creating the base_domain table
tablePerConcreteClass true
id generator: 'increment' // https://jira.grails.org/browse/GRAILS-10849
someColumnInBaseDomain index: true // index this column in each subclass table
}
}