Hibernate 对于插件中的所有域,Grails autoImport为false

Hibernate 对于插件中的所有域,Grails autoImport为false,hibernate,grails,hql,Hibernate,Grails,Hql,我有几个grails项目正在使用一个插件形式的“通用”grails项目。由于域对象名称冲突,对于公共项目中的所有域对象,autoImport应设置为false,即 class SomeDomain{ String id String value static mapping = { autoImport false } } 有没有办法更改插件项目中所有域类的自动导入默认值?我曾考虑尝试更改公共项目中的数据源,但当它用作插件时,它不会被保留。我想您可

我有几个grails项目正在使用一个插件形式的“通用”grails项目。由于域对象名称冲突,对于公共项目中的所有域对象,
autoImport
应设置为
false
,即

class SomeDomain{
    String id
    String value

    static mapping = {
      autoImport false
    }
}

有没有办法更改插件项目中所有域类的自动导入默认值?我曾考虑尝试更改公共项目中的数据源,但当它用作插件时,它不会被保留。

我想您可以将插件设置为在域类插件之前加载,并通过元类更改映射闭包。这很有趣。什么控制插件加载?您可以在插件描述符中声明
loadBefore
loadAfter
属性。对于使用公共项目的每个项目,我只需关闭
autoImport
。我们对HQL的使用非常有限,所以不值得深入研究。