我可以在 groovy 域中注入依赖项吗?
Can I inject the dependency in groovy domain?
在我的项目中,我使用了两个数据库,并且两个数据库中的列名不同。所以我在配置文件中定义了一个标志,并在域中注入了一个依赖项。
示例:-->
class MRAffiliate {
transient def grailsApplication;
String companyName;
String annotations;
static mapping = {
table name: "affiliati"//, schema: "public"
id generator:'sequence', params:[sequence:'affiliati_seq']
id column: "id"//, sqlType: "int4";
if (grailsApplication.config.com.dogmasystems.postgres==true){
companyName column: "ragione_sociale";
} else {
companyName column: "ragione_sociale", sqlType: "string";
}
if (grailsApplication.config.com.dogmasystems.postgres==true){
annotations column: "annotazioni";
} else {
annotations column: "annotazioni", sqlType: "string";
}
version false;
}
}
有没有其他方法可以根据数据库定义列名
我在执行这段代码时遇到错误。
错误是,
"Error evaluating ORM mappings block for domain MRAffiliate No such property: grailsApplication for class: org.codehaus.groovy.grails.orm.hibernate.cfg.HibernateMappingBuilder"
尝试 Holders.grailsApplication.config.xxx
-- 请参阅 this domain class,它使用映射块中的配置。
在我的项目中,我使用了两个数据库,并且两个数据库中的列名不同。所以我在配置文件中定义了一个标志,并在域中注入了一个依赖项。
示例:-->
class MRAffiliate {
transient def grailsApplication;
String companyName;
String annotations;
static mapping = {
table name: "affiliati"//, schema: "public"
id generator:'sequence', params:[sequence:'affiliati_seq']
id column: "id"//, sqlType: "int4";
if (grailsApplication.config.com.dogmasystems.postgres==true){
companyName column: "ragione_sociale";
} else {
companyName column: "ragione_sociale", sqlType: "string";
}
if (grailsApplication.config.com.dogmasystems.postgres==true){
annotations column: "annotazioni";
} else {
annotations column: "annotazioni", sqlType: "string";
}
version false;
}
}
有没有其他方法可以根据数据库定义列名
我在执行这段代码时遇到错误。 错误是, "Error evaluating ORM mappings block for domain MRAffiliate No such property: grailsApplication for class: org.codehaus.groovy.grails.orm.hibernate.cfg.HibernateMappingBuilder"
尝试 Holders.grailsApplication.config.xxx
-- 请参阅 this domain class,它使用映射块中的配置。