gpt4 book ai didi

oracle - 域类映射:数据源不起作用

转载 作者:行者123 更新时间:2023-12-02 14:58:11 25 4
gpt4 key购买 nike

我具有以下域类,我需要将其映射到特定的数据源(oracle),而我所有其他域类都将映射到默认的dataSource(mysql,它运行良好)。

我的编辑器是GGTS,您会发现映射内的“数据源”带有下划线,好像它不是映射内的有效属性一样:

我还构建了一个简单的 Controller :

class AccountWfmController {
def index() {
render AccountWfm.list() as JSON
}
}

尝试调用 Controller 方法 index时,出现以下异常:

java.lang.IllegalStateException

Method on class [mypackage.AccountWfm] was used outside of a Grails application. If running in the context of a test using the mocking API or bootstrap Grails correctly.



最后,我的数据源(注意:在我的 /lib文件夹中,我有 ojdbc6.jar):
dataSourceWFM {
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
}

关于这里发生的任何提示(Grails 2.4.3)?

谢谢

最佳答案

看看Multiple datasources上的Grails文档。请密切注意数据源的名称是如何到达的。您将注意到,由于Grails基于约定,因此命名约定为:dataSource_extraNameHere,其中mapping将使用extraNameHere

因此,对于您的示例:

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中多个数据源的功能。该文档也是很好的信息来源。

关于oracle - 域类映射:数据源不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28295817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com