Oracle 域类映射:数据源不工作
我需要将以下域类映射到特定的数据源(oracle),而我的所有其他域类都映射到默认的数据源(mysql,它工作得非常好) 我的编辑器是GGTS,正如您所注意到的,映射中的“datasource”带下划线,好像它不是映射中的有效属性: 我还构建了一个简单的控制器:Oracle 域类映射:数据源不工作,oracle,grails,gorm,ggts,Oracle,Grails,Gorm,Ggts,我需要将以下域类映射到特定的数据源(oracle),而我的所有其他域类都映射到默认的数据源(mysql,它工作得非常好) 我的编辑器是GGTS,正如您所注意到的,映射中的“datasource”带下划线,好像它不是映射中的有效属性: 我还构建了一个简单的控制器: class AccountWfmController { def index() { render AccountWfm.list() as JSON } } 尝试调用控制器方法index时,出现以下异
class AccountWfmController {
def index() {
render AccountWfm.list() as JSON
}
}
尝试调用控制器方法index
时,出现以下异常:
java.lang.IllegalStateException
类[mypackage.AccountWfm]上的方法在外部使用
Grails应用程序。如果在使用
正确模拟API或引导Grails
最后是我的数据源(注意:在我的/lib
文件夹中,我有ojdbc6.jar
):
关于这里发生了什么(Grails 2.4.3)有什么提示吗
谢谢请查看上的Grails文档。请密切注意数据源的名称是如何获得的。您会注意到,由于Grails是基于约定的,因此命名约定是:
dataSource\u extraname here
其中您的映射将使用extraname here
以你为例:
dataSource_wfm {
pooled = true
dialect = org.hibernate.dialect.Oracle10gDialect
driverClassName = 'oracle.jdbc.OracleDriver'
username = "username"
password = "password"
url = "jdbc:oracle:thin:@192.168.1.1:1521:SID"
dbCreate = '' //none, I have readonly access
}
在域类中,映射应该如下所示:
static mapping = {
datasource = 'wfm'
}
希望这有助于了解Grails中多个数据源的功能。该文档也是一个很好的信息来源。请查看上的Grails文档。请密切注意数据源的名称是如何获得的。您会注意到,由于Grails是基于约定的,因此命名约定是:dataSource\u extraname here
其中您的映射将使用extraname here
以你为例:
dataSource_wfm {
pooled = true
dialect = org.hibernate.dialect.Oracle10gDialect
driverClassName = 'oracle.jdbc.OracleDriver'
username = "username"
password = "password"
url = "jdbc:oracle:thin:@192.168.1.1:1521:SID"
dbCreate = '' //none, I have readonly access
}
在域类中,映射应该如下所示:
static mapping = {
datasource = 'wfm'
}
希望这有助于了解Grails中多个数据源的功能。文档也是一个很好的信息来源。感谢Joshua的回答。这个问题确实与命名约定“datasource_extraName”有关,在阅读有关多个源的文档时,我确实错过了这个约定。非常欢迎您。我很高兴这只是一个疏忽。在学习圣杯时有很多东西需要学习,但我们从错误中学习。我之所以记得这一点,是因为当多个数据源支持被添加到Grails中时,我是多么激动。感谢Joshua的回答。这个问题确实与命名约定“datasource_extraName”有关,在阅读有关多个源的文档时,我确实错过了这个约定。非常欢迎您。我很高兴这只是一个疏忽。在学习圣杯时有很多东西需要学习,但我们从错误中学习。我之所以记得这一点,是因为当多个数据源支持被添加到Grails中时,我是多么激动。