具有差异表名的附加数据源

时间:2012-12-12 17:43:07

标签: grails-2.0

我有一个名为Test的域,它一直在运行查询SQL查询,以便从另一个数据库中进行选择。

我想摆脱这种实现并获得Grails 2.0的多个数据源支持。但是,其他数据库中的表名称是一个名为Panel的表。

是否可以将域映射到备用数据库,还可以映射它从哪个表中选择?

// Datasource.groovy
development {
    dataSource {
        dbCreate = 'create-drop' // one of 'create', 'create-drop','update'
        url = "jdbc:sqlserver://machine\\SQLEXPRESS;databaseName=primarydb"
        username = "user"
        password = "password"
    }
    dataSource_otherdb {
        url = "jdbc:sqlserver://remoteserver:1433;databaseName=otherdb"
    }
}

// Test.groovy
class Test {

    String name
    int key
    String abbreviation

    boolean active = true

    static mapping = {
        sort name: "asc"
        datasource("otherdb")
    }
}

1 个答案:

答案 0 :(得分:2)

在映射闭包中有一个“表”配置。

// Test.groovy
class Test {

    String name
    int key
    String abbreviation

    boolean active = true

    static mapping = {
        table 'Panel'        //customize table name
        sort name: "asc"
        datasource("otherdb")
    }
}