8
votes

Comment exprimer "où la valeur est en liste dynamique" dans HQL / Gorm?

Pour une application GRAVES, j'ai besoin de trouver une liste d'objets dont "attr" est une liste dans une liste dynamique des chaînes. La requête de HQL réelle est plus complexe, mais le bit J'ai besoin d'aide avec c'est:

def result = MyObject.executeQuery("select o from MyObject as o where o.attr in :list",
    [list: aListOfStrings])


0 commentaires

3 Réponses :


20
votes

Mettre: Liste in Parens:

def result = MyObject.executeQuery(
    "select o from MyObject as o where o.attr in (:list)",
    [list: aListOfStrings])


2 commentaires

Je ne peux pas utiliser cette idée de (: liste) et [Liste: Alist] avec SQL.JAVA Classe dans Grails


Burt 4 Président!



3
votes

Je ne sais pas comment la performance se compare, mais j'ai pu faire cela droit dans la lunette avec le mot clé dans dans un requête: xxx


0 commentaires

0
votes

Cela fonctionne pour moi comme des champions.

ordre.Executequery ("de l'ordre O où O.CategoryId =: OCATID et O.PART dans (: ParteList) et O.Status in (: StatusList)", [Ocatide: CatégorieId, PartsList: PartsList, StatusList: StatusList ])


0 commentaires