JPQL GROUP BY mit HAVING - Problem

Kranik

Grünschnabel
Hallo ich hoffe ihr könnt mir bei meinem Problem helfen.

Ich habe 2 Objekte, die jeweils in einer Datenbanktabelle gespeichert werden nennen wir sie mal Dose und Keks. Im Keks ist gespeichert in welcher Dose er sich befindet, und von welcher Art er ist.

1)Ich möchte mir nun alle Kekse herausgeben lassen, deren Art in einer Dose einzigartig ist.
2)Ich möchte nun alle Kekse herausgeben lassen, deren Art in der Dose mehrfach vorkommen.
Ich habe versucht das Problem über ein GROUP BY + HAVING zu lösen jedoch erhalte ich hierbei die Fehlermeldung:
Code:
Caused by: java.sql.SQLException: ORA-00979: Kein GROUP BY-Ausdruck
Query:
SELECT k FROM Keks k WHERE k.dose=:dose GROUP BY k HAVING COUNT(k.art)=1

Habe ich hier ein grundsätzlichen Denkfehler und das GROUP BY + HAVING ist der falsche Ansatz? Oder weswegen tritt der Fehler auf?

Gruß Kranik
 
Zuletzt bearbeitet:
Hi

Die selektierte Spalte nennt sich k, und die Tabelle Keks nennst du (für der Abfrage) auch k.
Vllt. verursacht das ja Probleme?
 
Hi,

ich selektiere über JPQL keine Spalte sondern direkt das Ganze Objekt. D.h. ich sollte schon in Java ein Objekt vom Typ Keks zurückbekommen. Von daher ist das "SELECT k FROM Keks k" eigentlich richtig!

gruß Kranik
 
Zurück