如何在Grails中映射来自不同dataSource的表?

时间:2018-04-18 05:36:40

标签: grails datasource

如何在Grails中映射来自不同dataSource的表?

class Classroom {
    static hasMany = [students : Student]
    static mapping = {
        datasource 'school'
    }
}

class Laboratory {
    static hasMany = [students : Student]
    static mapping = {
        datasource 'school'
    }
}

class Student {
    String name
    static mapping = {
        datasource 'person'
    }
}

如果这三个表都来自同一个数据源,那么Grails会生成五个表,即classroomlaboratorystudentclassroom_studentlaboratory_student

此代码给了我一个错误:An association from the table classroom_student refers to an unmapped class: registration.Student

我的问题是:

1)我如何实现这一目标?

2)在哪个数据源中生成classroom_studentlaboratory_student

1 个答案:

答案 0 :(得分:0)

  

1)我如何实现这一目标?

GORM不支持跨数据源的关系。您必须编写自己的查询并自行跟踪关系。

  

2)哪个数据源将是classroom_student和laboratory_student   生成?

无论你在哪里创建它们(参见#1的回答)。