grails - 如何从非域类继承 GORM 映射?

标签 grails inheritance grails-orm

永久地,我有一些表和一些带有映射注释的休眠类。这些类也有带有映射注释的抽象父类(super class)。但是在这个父类(super class)中没有表关联映射。所有表都在子类中标识。
我正在尝试将此映射迁移到 GORM 模型。但是所有策略: TablePerHierarchy 和 TablePerSubclass 不适用于我的情况,因为所有表都是创建的并且无法更改。
我在“src/groovy/somepackage/”中创建了父类(super class),并希望将此类的映射和约束继承到“域”文件夹中的子类。对于约束它工作得很好,但对于映射我找不到文档如何做到这一点。
有没有人有任何想法?

示例 .

在非域文件夹中:

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”。

最佳答案

可以使用克隆和委托(delegate)功能。这是我所做的:

class B extends A {

static mapping = {
    def copyMapping = A.mapping.clone()
    copyMapping.delegate = delegate
    copyMapping.call()
    }
}

关于grails - 如何从非域类继承 GORM 映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16484723/

相关文章:

Grails 属于任一类

java - 房间: Use class that extends ArrayList as Entity

Java从父对象调用子方法

grails - 如何使用 List<Double> 填充 Grails 域类

grails - 类权限不是域类或 GORM 尚未正确初始化或已关闭

grails - 将列的求和值与另一列进行比较-条件不正确

mongodb - grails 应用程序中的 mondogb-morphia 问题,无法将 Map 正确存储在数据库中

exception - 我无法将验证消息设置为约束

grails - 基于具有 Spring 安全性的登录用户的权限控制菜单项

python - 在方法执行之前和之后做一些事情