使用grails 1.3.6处理数据源插件(很快就会升级)渲染taglib时出现此错误
org.springframework.orm.hibernate3.HibernateQueryException: DomainA is not mapped
这些是数据库(都是postgresql并且位于同一服务器中):
database A
schema x
table domain_a
table domain_b
database B
schema x
table DomainA
table DomainB
这些是我的映射:
class domainA { // Domain A is defined in a plugin
mapping(table: "x.domain_a")
}
class domainB {
mapping(table: "x.domain_b")
}
我想要的是在数据库A中映射domainA和在数据库B中映射的域B.
我在Config.groovy中使用grails.config.locations获取数据库A,使用此配置使用数据库B的Datasources.groovy:
datasource(name: 'databaseB') {
driverClassName('org.postgresql.Driver')
url('jdbc:postgresql://host/databaseB')
username('user')
password('****')
domainClasses(['DomainB'])
readOnly(true)
dialect("org.hibernate.dialect.PostgreSQLDialect")
pooled(true)
environments(['development', 'test'])
}
我没有得到似乎是什么问题
有没有人遇到过这个问题,我可以使用一种解决方法吗?也许升级到grails 2会有所帮助吗?
答案 0 :(得分:0)
好吧,我有点解决了在datasources.groovy中创建另一个数据库A(主要数据源)的数据源,其中包括domainA(以及所有其他相关的域),如下所示:
import package.DomainA
datasource(name: 'databaseA') {
driverClassName('org.postgresql.Driver')
url('jdbc:postgresql://host/databaseA')
username('user')
password('***')
domainClasses([DomainA, OtherDomains])
}