連接領域類的麻煩:http://burtbeckwith.com/blog/?p=70的Grails:隨着數據源的插件,其在不同的數據源
我連接到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類中的流派屬性,一切正常。如果我對流派類本身執行標準查詢,那麼一切正常, 。在模式中加入2個類似乎存在問題。 (當然,這也很有可能我錯過了 的東西或做了一些不正確的事情。)
我做錯了什麼或者這是datasources插件的限制嗎?而且,如果這是插件的限制,我可以使用什麼替代方法來實現我所需要的?
任何幫助/建議非常感謝。
感謝,
B.J.
謝謝,約書亞,您的迴應。在下次發帖之前,我會確保在閱讀理解技巧上工作;)。你是否說要實現我想要的唯一方法是獨立查詢兩個表並自己加入它們? – Benny
這是正確的。實際上,您可以在父級實例的Domain類中放置查詢子實例的邏輯。但是,使用服務,而不是似乎更容易的路線。 –