を持つ:http://burtbeckwith.com/blog/?p=70のGrails:データソースプラグインで、私はここで説明Grailsのためplugingデータソースを使用しているさまざまなデータソース間でトラブルのドメインクラスを結ぶ
私は、同じサーバー上に2つのMySQLデータベース・スキーマに接続しています:my_schema_1をとmy_schema_2。私が必要とするデータのほとんどはmy_schema_1から来ますが、テーブルの1つにmy_schema_2のテーブルの1つを参照するカラムが含まれています。ここで
は私のデータソースの定義は、私のDatasources.groovyファイル(簡体字)にあります。私は上の基準クエリを実行しようとするたびに
class Question {
String text
Answer answer
Genre genre
}
class Answer {
String text
}
class Genre {
String name
}
:ここ
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クラス定義されています質問クラスでは、次のマッピング例外が発生します。
An association from the table question refers to an unmapped class: Genre
質問クラスのgenreプロパティは、すべて正常に動作します。 Genreクラス自体で条件クエリを実行すると、 すべて正常に動作します。スキーマ間で2つのクラスを結合することに問題があるようです。 (もちろん、 何かが間違っているか間違っていた可能性も非常に高いです。)
私は何か間違っているのですか、これはデータソースプラグインの制限ですか?そして、これがプラグインの制限事項であれば、私が必要とするものを達成するためにどのような選択肢を使用できますか?
ご協力いただきありがとうございます。
おかげで、
B.J.
ありがとうございます、Joshua、ご返信ありがとうございます。私は次回に投稿する前に私の読書のスキルに取り組んでいます。あなたが望むことを達成する唯一の方法は、両方のテーブルを個別にクエリして自分で結合することですか? – Benny
それは正しいです。実際に、親インスタンスのDomainクラス内に子インスタンスを照会するロジックを配置することができます。しかし、代わりにサービスを使用する方が簡単なルートのようです。 –