Ist es ein 'nicht' gleichwertig in GORM?
Ist dies möglich, konvertieren in createCriteria()?
SELECT * FROM node WHERE (node.type = 'act' AND nid NOT IN (SELECT nid FROM snbr_act_community)) LIMIT 10
Ich weiß, es gibt eine 'in' - operator und hier ist, was ich habe, so weit:
def c = VolunteerOpportunity.createCriteria()
def matchingActs = c.list {
node {
eq('type', 'act')
}
maxResults(10)
}
Wollen einfach nur, um zu sehen, ob dies möglich ist. Ansonsten, denke ich, dass dies möglich ist, in HQL Recht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dank Sammyrulez für den code. habe eine Idee von diesem. es getestet aber es hat nicht funktioniert. ich reparierte es und hier der endgültige code:
jetzt weiß ich, wie für die Verwendung von 'nicht' - operator. vielen Dank!
nicht selber ausprobiert, aber ein Blick auf die Grails-doc und hibernate-api-erstellen Sie Knoten auf diesem builder-Landkarte mit den statischen Methoden finden Sie in den Beschränkungen der Klasse der Hibernate Criteria-API Eins. So etwas wie
Da Sie die Kette in der Methode (die gibt ein Kriterium) mit der nicht-Methode (das dauert ein Kriterium als argument und gibt eine negierte version)
dies ist die Lösung :
Laut Grails-Dokumentation über die Erstellung von Kriterien hier, die Sie verwenden können, so etwas wie dieses:
In diesem Beispiel haben Sie eine Eigenschaft mit dem Namen
"age"
und Sie wollen, um Zeilen, NICHT zwischen 18 und 65. Natürlich, die[18..65]
Teil kann ersetzt werden mit einer Liste von Werten oder einen Bereich, die Sie benötigen.Nur erinnern: in diesem Fall müssen Sie nicht zu Klammern, und Sie können
inList
zum Beispiel: