永久地我有一些表和一些带有映射注释的hibernate类。这个类也有抽象的超类,也有映射注释。但是在这个超类中没有表关联映射。所有表都在子类中标识。 我正在尝试将此映射迁移到GORM模型。但是所有策略:TablePerHierarchy和TablePerSubclass都不适用于我的情况,因为所有表都已创建且无法更改。 我在'src / groovy / somepackage /'中创建了超类,并希望将此类中的映射和约束继承到'domain'文件夹中的子类。对于约束,它工作得很好,但对于映射,我找不到文档如何执行此操作。 有没有人有任何想法?
示例
在非域名文件夹中:
absract class A {
String a
static mapping = {
a column: "column_A"
}
}
在域名文件夹中:
class B extends A {
String b
static mapping = {
b column: "column_B"
}
}
和
class C extends A {
String c
static mapping = {
c column: "column_C"
}
}
需要在每个表中使用“column_A”列获取两个表。
答案 0 :(得分:4)
可以使用克隆和委托功能。这是我做的:
class B extends A {
static mapping = {
def copyMapping = A.mapping.clone()
copyMapping.delegate = delegate
copyMapping.call()
}
}
答案 1 :(得分:1)
现在可以更直接地做到这一点:
class B extends A {
static mapping = {
includes A.mapping
}
}