我有以下问题。我得到了一个由 JPA/Hibernate 在 Java 中生成的数据库模式。我有一个继承层次结构表。为此,Hibernate 使用 DTYPE 列来区分层次结构中类的具体实现。
我现在需要将相同的层次结构加载到 GRAILS 域对象。然而,GRAILS 使用名称为“类”的列来保存具体实现的名称,我无法找到任何方法来更改此映射。所以我的问题是:有没有办法将 GRAILS 的“类”列映射到 Hibernate 的 DTYPE 列?
最佳答案
您可以自定义用于鉴别器列的名称 in the base class mapping
closure .
class TopOfTheHierarchy {
…
static mapping = {
discriminator column: "DTYPE"
}
}
要使用类名以外的其他内容作为鉴别器值,您可以为每个子类使用类似的映射条目
class ChildClass {
…
static mapping = {
discriminator "child"
}
}
关于java - 如何在GORM中GRAILS的类列和hibernate的DTYPE列之间进行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13890868/