覆盖默认的GORM id生成器

时间:2015-06-04 20:04:01

标签: grails gorm

在GORM中,有人可以通过以下方式在config.groovy中指定默认的id生成器:​​

grails.gorm.default.mapping = {
    id generator : 'uuid2', type: 'pg-uuid'
}

但是,我在插件中有一个类,它期望id很长,所以它会失败。我可以更改插件,但只是想知道我在这里有没有其他选择?

由于

1 个答案:

答案 0 :(得分:0)

您可以尝试在项目的域类上实现AST转换,将任何长字段转换为字符串字段。

Grails会扫描包org.codehaus.groovy.grails.compiler以查找实现grails.compiler.ast.GrailsArtefactClassInjector的任何类。在此包中创建一个类,该类扫描域类并删除任何类id的{​​{1}}属性,并用类Long的属性替换它们(或者您需要的任何类类型)