Ich muss eine Abfrage erstellen und brauche COUNT(*)
und HAVING COUNT(*) = x
.
Ich verwende eine Arbeit, die die CustomProjection
-Klasse verwendet, die ich irgendwo heruntergeladen habe.
Dies ist die SQL, die ich versuche zu erreichen:
%Vor% Dies ist der Code, in dem ich die Projection
Hibernate-Klasse verwende:
Der Fehler ist:
%Vor% Wenn ich die Zeile mit CustomProjections
class kommentiere, funktioniert die Abfrage, aber ich bekomme nicht den HAVING COUNT(*)
Filter in SQL ...
Grundsätzlich versucht die Abfrage, in einem Master-Detail-Schema alle Stammdatensätze abzurufen, in denen gleichzeitig eine Liste von Details vorhanden ist, etwa wenn Sie wissen möchten, "welche Rechnungen beide Produkte A und B haben". p>
Deshalb, wenn ich 3 Elemente in der IN
-Klausel habe, muss ich HAVING COUNT = 3
-Klausel verwenden.
Irgendwelche Ideen oder Vorschläge? Mit freundlichen Grüßen,
Ich habe das Problem herausgefunden. Ich ersetze CusotmProjections-Klasse mit:
%Vor%where groupBy, Alias und Typen sind:
%Vor%und die Magie ist auf groupby String. -
Hier ist mein Beispiel, es funktioniert gut, vielleicht nützlich:
Meine SQL-Abfrage:
Wählen Sie COLUMN1, sum (COLUMN2) aus MY_TABLE group by aus SPALTE1 mit der Summe (SPALTE2) & gt; 1000;
Und Kriterien wären:
%Vor%criteria.add (Restrictions.sqlRestriction ("1 = 1 mit Anzahl (*) = 2"));
Tags und Links hibernate having-clause