Toplink Abfrage auf eine List?!
Allgemeine Frage.
Bis jetzt leider keine Antwort im Web gefunden...
Hallo alle zusammen,
ich habe folgendes Problem:
Mein kleines Projekt funktioniert reibungslos. Aber mit einem gewaltigen Umweg,
welcher durch eine schöne SQL-Abfrage zu bewältigen wäre.
Folgende Ausgangssituation:
Ich benutze Netbeans und Toplink mit einer MySQL-Datenbank im Hintergrund.
Alle Abfragen funktionieren gut nur hierbei komm ich nicht mehr weiter:
Sooo, nun geht es um die NamedQuery...
Kurze Erklärung was mir diese Abfrage für ein Resultat bringen soll:
Ich möchte gerne alle Rechner, zu denen der übergebene User Berechtigungen hat.
Die original Fehlermeldung (zur Beispielabfrage umgeändert):
PS: Dies ist nur ein kleines Beispiel, meine Klassen sind etwas ausführlicher und aufwendiger. Aber für diese Fragestellung müsste es so reichen.
Einen Umweg weiß ich bereits. Mich würde wirklich der Weg über die Query interessieren, welche auch sinnvoll wäre.
Danke im voraus (=
Bis jetzt leider keine Antwort im Web gefunden...
Hallo alle zusammen,
ich habe folgendes Problem:
Mein kleines Projekt funktioniert reibungslos. Aber mit einem gewaltigen Umweg,
welcher durch eine schöne SQL-Abfrage zu bewältigen wäre.
Folgende Ausgangssituation:
Ich benutze Netbeans und Toplink mit einer MySQL-Datenbank im Hintergrund.
Alle Abfragen funktionieren gut nur hierbei komm ich nicht mehr weiter:
@Entity
public class User {
@Id
public int id;
public String name;
}
@Entity
@NamedQuery(name="PC.findBerechtigtePCsForUser",query="SELECT p FROM PC WHERE :user in pc.berechtigteUser")
public class PC{
@Id
public int id;
@OneToMany
public List<User> berechtigteUser;
}
Sooo, nun geht es um die NamedQuery...
Kurze Erklärung was mir diese Abfrage für ein Resultat bringen soll:
Ich möchte gerne alle Rechner, zu denen der übergebene User Berechtigungen hat.
Die original Fehlermeldung (zur Beispielabfrage umgeändert):
Exception Description: Syntax error parsing the query [PC.findBerechtigtePCsForUser: SELECT p FROM PC WHERE :user in p.berechtigteUser], line x, column x: syntax error at [p].
Internal Exception: line x:x: expecting LEFT_ROUND_BRACKET, found 'p'
PS: Dies ist nur ein kleines Beispiel, meine Klassen sind etwas ausführlicher und aufwendiger. Aber für diese Fragestellung müsste es so reichen.
Einen Umweg weiß ich bereits. Mich würde wirklich der Weg über die Query interessieren, welche auch sinnvoll wäre.
Danke im voraus (=
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 120621
Url: https://administrator.de/contentid/120621
Ausgedruckt am: 23.11.2024 um 12:11 Uhr