0
我們如何在2個數據庫上編寫查詢。Grails多個數據庫
我安裝插件的數據源和域類:
class Organization {
long id
long company_id
String name
static mapping = {
version false
table 'organization_'
id column : 'organizationId'
company_id column : 'companyId'
name column : 'name'
}
}
class Assoc {
Integer id
Integer association_id
Integer organization_id
static mapping = {
version false
table 'assoc'
id column : 'ASSOC_ID'
association_id column : 'ASSOCIATION_ID'
organization_id column : 'ORGANIZATION_ID'
}
}
這是工作:
def org = Organization.list()
def assoc = Assoc.list()
,這是行不通的:
def query = Organization.executeQuery("SELECT o.name as name, o.id FROM Organization o WHERE o.id IN (SELECT a.organization_id FROM Assoc a)")
錯誤:
org.hibernate.hql.ast.QuerySyntaxException:副教授未映射 [SELECT o.name如姓名,o.id FROM org.com.domain.Organization O,其中 ö .id IN(SELECT a.organization_id FROM AssocOrg a)]
如何使用單個查詢連接2個數據庫?
在此先感謝。
hi burt,我的壞。我不明白「先獲取ID並在主要查詢中使用這些ID」。我們應該在循環中使用嗎?你能用小例子來解釋一下嗎?謝謝 – srinath 2010-03-08 18:50:07
對不起,我的意思是:def organizationIds = Assoc.executeQuery(「SELECT a.organization_id FROM Assoc a」); def query = Organization.executeQuery(「SELECT o.name as name,o.id FROM Organization o WHERE o.id IN(:ids)」,[ids:organizationIds])(致歉的評論格式化) – 2010-03-09 00:14:54
Thanks Burt for giving方案。 – srinath 2010-03-10 06:08:38