Frage zu folgender Query in EJB-QL

Millman

Mitglied
Hey Leute,

ich möchte euch bitten mir bei folgender Query zu helfen:
Ich habe zwei Klassen, Schüler und Klasse. Zwischen diesen beiden Entitäten besteht eine bidirektionale ManyToMany Beziehung, die ich mittels JPA 2 erstellt habe.
Die Klassen sehen vereinfacht so aus:
Code:
Schüler:
Private int bewertung;
Private collection<Klasse> klassen;
Code:
Klasse:
Private long id;
Private collection<Schüler> schülers;
Ich möchte nun für eine vorgegebene Klasse(über deren id) die summe der bewertungen all ihrer Schüler bekommen.
Leider bin ich mir nicht sicher, wie ich eine solche Query mit der EJBQL erstelle, wenn eine ManyTOMany Beziehung vorliegt, speziell wie ich mir hierbei die Zwischentabelle Schülter_Klasse zu nutze mache.

Danke im voraus für eure Hilfe.
 
G

Gelöschtes Mitglied 5909

Gast
Code:
select sum(k.schülers.bewertung) from Klasse k where k.id = :klassenId

so sollte das gehn.

Btw: verwende bitte keine Umlaute, noch besser: Englisch


//EDIT:

sorry ich lag leider falsch: man kann so nicht navigieren

Richtig:

Code:
select sum(s.bewertung) from Schüler s join s.klassen c where c.id = :id

p.s.: wenn du den durchschnitt haben willst:

Code:
select avg(s.bewertung) from Schüler s join s.klassen c where c.id = :id

Im Anhang binary uns sourcen (im bin ist die pom.xml)
 

Anhänge

  • m2mejbql-0.0.1-SNAPSHOT.jar
    5,8 KB · Aufrufe: 3
  • m2mejbql-0.0.1-SNAPSHOT-sources.jar
    3 KB · Aufrufe: 2
Zuletzt bearbeitet von einem Moderator:

Millman

Mitglied
Danke erstmal für die Hilfe bei der letzten Query.

Ich hätte nun noch einmal eine Frage zu einer ähnlichen Query:

Diesmal möchte ich die Klassen sortiert haben, nach der Anzahl ihrer Schüler, d.h. die Klasse mit den meisten Schülern kommt als erstes, und die mit den wenigsten Schülern als letztes.

Folgendes habe ich mir überlegt, was leider nicht funktioniert:

""SELECT k FROM Klasse k JOIN k.schueler s Group By k Order By count(s.bewertung) desc"

Ob ich count(s) oder count(s.bewertung) nehme ist egal, ich bekomme immer einen Fehler.

Anfangs hatte ich es auch ohne Group By versucht, aber ich denke Group By brauche ich schon, damit das count richtig funktioniert.

Danke im voraus für die Hilfe!
 

Millman

Mitglied
Hallo zusammen,

ich wollte nochmal fragen, ob mir jemand mit der Query weiterhelfen könnte, komme da leider nicht voran.

Zur Query:
Ich habe mehrere Klassen mit je einer unterschiedlichen Anzahl an Schülern drin, und nun möchte ich durch meine Query eine Liste mit den Klassen bekommen, die nach der Anzahl ihrer Schüler absteigend sortiert sind.

Mein Vorschlag ist folgende Query:
"SELECT k FROM Klasse k JOIN k.schueler s Group By k Order By count(s.bewertung) desc"

Allerdings bekomme ich hier bereits einen Fehler, weil das count in der Order By-Klausel nicht verwendet werden kann. Ich nutze ja JPA 2.0 mit der DB(jdbc:derby) von meiner NetBeans 3.9 Version
 
M

Marcinek

Gast
Du kannst nicht machen

select * from table group by a

Dann kannst du nur das a selecten.

Außerdem ist k eine lokale domaine für eine Tabelle und afaik sollte da sowas stehen, wie k.* oder eine spalte. Und man kann nicht nach Tabellen groupen.

Wenn ich nach count sortieren will, dann mache ich immer

select count(*), ... from table order by 1

Gruß,

Marcin
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Frage zu Bundesliga-DB Datenbankprogrammierung 1
pkm Frage zu Encodingproblem bei einer Datenbankanbindung Datenbankprogrammierung 1
B Frage bei einer SQL Query Datenbankprogrammierung 3
B Frage zu Datenbank Design bei Events (ZenDesk) Datenbankprogrammierung 1
B SQLite Frage zu SQLite Datenbankverbindung Datenbankprogrammierung 7
M Frage zu JSON Datenbankprogrammierung 16
Psypsy Hibernate / JPA OneToOne MappedBy Frage Datenbankprogrammierung 2
P Frage zu Connection.close() Datenbankprogrammierung 4
R MySQL Frage zum Anlegen von Artikeln inkl. Verbindungen Datenbankprogrammierung 0
M Grundlegende Klassen-Design Frage Datenbankprogrammierung 0
P MySQL Frage zur Einbindung in ein Java Projekt Datenbankprogrammierung 2
I Frage zu Datenmodellierung Datenbankprogrammierung 3
J Normalisierung - Allgemeine Frage zur 3. Normalform (Eventuelle Abhängigkeit) Datenbankprogrammierung 4
F Normalisierung Datenbank Frage Datenbankprogrammierung 5
J Frage zu ResultSet Datenbankprogrammierung 3
W Frage zur Datenbankwahl bei Umstieg auf Java Datenbankprogrammierung 7
D Frage zu DISTINCT in SQL Datenbankprogrammierung 5
K Frage zur Datenprotokollierung bei DML Anweisungen Datenbankprogrammierung 3
K Frage zu SQL Datenbankprogrammierung 2
L PostgreSQL Hibernate-Frage Datenbankprogrammierung 2
K Frage zu Datenbankmodellierung Datenbankprogrammierung 15
D Generelle Frage zum Umgang mit Datensätzen Datenbankprogrammierung 5
L Frage zu UpdateQuery Datenbankprogrammierung 12
8 MySQL Kurze Frage zur Sicherheit Datenbankprogrammierung 9
D Frage zu INSERTS über mehrere Datenbanktabellen Datenbankprogrammierung 3
D Frage zu Ausführungsmöglichkeiten von SQL Befehlen Datenbankprogrammierung 13
D Frage zu SQL Syntax Datenbankprogrammierung 17
D Frage zu potenziellen Leerzeichen in einer Datenbank Datenbankprogrammierung 5
X Connection schließen oder speichern? Performance Frage Datenbankprogrammierung 7
J mal wieder eine Frage zu parallelen Transaktionen.. Datenbankprogrammierung 2
V Frage zu Hibernate-Mapping Datenbankprogrammierung 11
N Allg. Frage zur Datenbankverbindung Datenbankprogrammierung 2
E einfache Frage bei DB-Zugriff Datenbankprogrammierung 11
S MySQL Frage zu LeftJoin Abfrage Datenbankprogrammierung 2
O eigentlich simple SQL Frage Datenbankprogrammierung 2
H JBoss: Frage zur Datasource in der ...-ds.xml Datenbankprogrammierung 4
F Frage zu Prepared Statement Datenbankprogrammierung 2
R hibernate Frage zu configFile-Pfad und Groß/Kleinschreibung von Postgres-Tabellen Datenbankprogrammierung 8
U Frage zum Erfassen von hinzufügten und entfernten Objekten Datenbankprogrammierung 9
M prinzipielle Frage zu Datenbanken und jars ... Datenbankprogrammierung 2
S Hibernate - spezielle Frage, n zu n Beziehung Datenbankprogrammierung 11
R Frage zu PreparedStatement/ResultSet Datenbankprogrammierung 16
J Frage zu Synchronisation bei parallelem Zugriff, speziell mit JPA Datenbankprogrammierung 2
F EclipseLink persistence.xml Frage Datenbankprogrammierung 11
N Frage zur Sicherheit von Konfigurationsdatei Datenbankprogrammierung 4
H performance frage Datenbankprogrammierung 9
G Frage zum Insert-Statement Datenbankprogrammierung 2
Antoras Design-Frage: Datenzuordnung zu verschiedenen Accounts Datenbankprogrammierung 2
T HSQL: verständnis Frage Datenbankprogrammierung 2
T Java JPA Frage bzgl. DISTINCT Datenbankprogrammierung 2
G Frage zu connection? Datenbankprogrammierung 9
A Frage zu SQL-Abfrage Datenbankprogrammierung 2
G Frage zu SQL "WHERE IN (1, 2, 3. , N)" Datenbankprogrammierung 8
G Allgemeine Frage zu Datenbanklimits Datenbankprogrammierung 27
G allgemeine JDBC-Connection Frage Datenbankprogrammierung 2
G Frage zu Hibernate und M:N Beziehung Datenbankprogrammierung 9
K HQL Frage Datenbankprogrammierung 10
D kurze Frage zu einem Query Datenbankprogrammierung 6
B Hibernate mit MySql - Verständniss Frage Datenbankprogrammierung 8
N Kleine Frage zu Connection Pooling mit DataSource Datenbankprogrammierung 2
T Update-Frage Datenbankprogrammierung 11
E SQL-Frage (Löschen aller Datensätze) Datenbankprogrammierung 9
P Frage zu Performancetest einer Datenbank Datenbankprogrammierung 3
W Frage zum Umgang mit DB-Daten Datenbankprogrammierung 2
E Nochmal eine Datenbankabfrage Frage :-o (JOIN oder so) Datenbankprogrammierung 4
P frage zu "" bei INSERT STATEMENTS Datenbankprogrammierung 2
K frage zum ausführen eines INSERT statements Datenbankprogrammierung 16
L frage zu mySQL Datenbankprogrammierung 4
C Mal ne Frage an die Experten Datenbankprogrammierung 4
G Frage zum Datenbankdesign Datenbankprogrammierung 5
J DB Verbindung Design Frage Datenbankprogrammierung 5
M Datenbankanbindung in Java : Newbie-Frage Datenbankprogrammierung 2
U Grundsätzliche Frage Datenbankprogrammierung 4
S Frage zu INSERT Datenbankprogrammierung 2
X Wieder mal ne Frage ... Datenbankprogrammierung 15
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
Zrebna PostgreSQL-Query in eine MicrosoftSQL-Query konvertieren - chatGPT hilft nur bedingt. Datenbankprogrammierung 3
L JPA EclipseLink PostgreSQL auslesen mit Query Datenbankprogrammierung 2
T TRIM in Query Datenbankprogrammierung 3
D sql query in methode mit rückgabetyp Datenbankprogrammierung 14
OnDemand Mysql Query Builder Datenbankprogrammierung 1
P Herausfinden wann Query null zurück gibt? Datenbankprogrammierung 1
OnDemand SQL Query Optimierung Datenbankprogrammierung 28
Kirby.exe Verwirrung beim Query Datenbankprogrammierung 4
I Hibernate / JPA - Spaltenname von Query (Select) bekommen Datenbankprogrammierung 6
M Oracle Query umbauen (sind die Querys gleich?) Datenbankprogrammierung 5
C Fehlerhafte SQL Query Datenbankprogrammierung 4
B MySQL Query (Anfängerfrage :D) Datenbankprogrammierung 3
B JPA / HQL Support bei Query - Distanzberechnung Datenbankprogrammierung 0
D JPQL- Query über mehrere Tabellen Datenbankprogrammierung 7
Thallius MySQL Was ist falsch an dem Query? Datenbankprogrammierung 2
Thallius MySQL Wo ist der Fehler in dem Query? Datenbankprogrammierung 2
OnDemand MySQL SQL Query Datenbankprogrammierung 2
X SQLite Erhalte bei Query INSERT INTO eine NullPointerException Datenbankprogrammierung 10
B Leerzeichen nach Umlaut -> Sichtbar erst nach Query! Datenbankprogrammierung 6
S sql query, um bestimten datensatz zu finden Datenbankprogrammierung 33
OnDemand SQL Query Anzahl der Werte Datenbankprogrammierung 8
H MySQL Anderer Query-Ansatz? Datenbankprogrammierung 4
P Tricky SQL Query Datenbankprogrammierung 3
P SQL Query Problem Datenbankprogrammierung 14

Ähnliche Java Themen

Neue Themen


Oben