comment pouvons-nous écrire des requêtes sur 2 bases de données.Grails plusieurs bases de données
J'ai installé de plugin sources de données et les classes de domaine sont:
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'
}
}
que cela fonctionne:
def org = Organization.list()
def assoc = Assoc.list()
et cela ne fonctionne pas:
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)")
erreur:
org.hibernate.hql.ast.QuerySyntaxException: Assoc n'est pas mis en correspondance [SELECT o.name comme nom, o.id DE org.com.domain.Organization o OÙ o .id IN (SELECT a.organization_id FROM AssocOrg a)]
Comment pouvons-nous nous connecter avec 2 bases de données en utilisant une seule requête?
merci d'avance.
Salut burt, Mon mauvais.Je ne comprends pas "obtenir les ID d'abord et utiliser ceux dans la requête principale". Est-ce qu'on devrait l'utiliser en boucle? pourriez-vous s'il vous plaît expliquer avec un petit exemple. merci – srinath
Désolé, je voulais dire: def organisationIds = Assoc.executeQuery ("SELECT a.organization_id FROM Assoc a"); def query = Organization.executeQuery ("SELECT o.name comme nom, o.id FROM Organisation o O o o.id IN (: ids)", [ids: organisationIds]) (excuses pour le formatage des commentaires merdiques) –
Merci Burt de donner Solution . – srinath