Я использую подключаемые источники данных для Grails, описанные здесь: http://burtbeckwith.com/blog/?p=70
Я подключаюсь к 2 схемам баз данных MySQL на одном сервере: my_schema_1 и my_schema_2.Большая часть данных, которые мне нужны, поступает из my_schema_1, но одна из ее таблиц содержит столбец, который ссылается на одну из таблиц в my_schema_2.
Вот мои определения источника данных в моем файле Datasources.groovy (упрощенно):
datasources = {
datasource(name: 'my_schema_1') {
domainClasses([Question, Answer])
driverClassName('com.mysql.jdbc.Driver')
url('jdbc:mysql://test.myserver.com/my_schema_1')
username('***')
password('***')
}
datasource(name: 'my_schema_2') {
domainClasses([Genre])
driverClassName('com.mysql.jdbc.Driver')
url('jdbc:mysql://test.myserver.com/my_schema_2')
username('***')
password('***')
}
}
Вот мои 3 определения класса:
class Question {
String text
Answer answer
Genre genre
}
class Answer {
String text
}
class Genre {
String name
}
Всякий раз, когда я пытаюсь выполнить запрос критерия для класса Вопроса, я получаю следующее исключение сопоставления:
An association from the table question refers to an unmapped class: Genre
Если я закомментирую свойство жанра в классе Question, все будет работать нормально.Если я выполняю запрос критерия для самого класса Genre, все работает нормально.Кажется, что существует проблема объединения двух классов в разных схемах.(Конечно, также возможно, что я что-то пропустил или сделал что-то неправильно.)
Я делаю что-то не так или это ограничение плагина источников данных?И, если это ограничение плагина, какие альтернативы я мог бы использовать для достижения того, что мне нужно?
Любая помощь / предложения приветствуются.
Спасибо,
BJ