GartenUmgraben
Erfahrenes Mitglied
Moin... ich will per EJB aus einer Tabelle die zur Zeit maximale ID bekommen.
Normales SQL wäre Select max(id) from tab1;
also in EJB-QL Select max(e.id) from tab1 e
Nur ist dann der Returnwert ja kein Object sondern ein Integer und wenn ich die Funktion genauso deklariere sagt mir der JBoss dass der Returnwert eines EntityBean Queries entweder vom Typ der Bean oder eine Collection (in der dann mehrer Objecte sind) sein muss, nicht jedoch Integer
Kann ich ihm das Irgendwie beibringen?
Wenn ich es umstelle auf eine "Objectigere" Query alà
Select Object(e) from tab1 e where e.id = select max(f.id) from tab1 f
Dann meckert er schon, das das querry ungültig sei (habs auch schon mit klammern beim subquerry versucht)
Ich meine ich könnte auch wieder per FindAll rangehen..mir alle Ids in ein Feld packen und dann anschließend die größte dort herraus extrahieren (war meine erste Lösung) nur ist das ja keine besonders schöne Lösung
Normales SQL wäre Select max(id) from tab1;
also in EJB-QL Select max(e.id) from tab1 e
Nur ist dann der Returnwert ja kein Object sondern ein Integer und wenn ich die Funktion genauso deklariere sagt mir der JBoss dass der Returnwert eines EntityBean Queries entweder vom Typ der Bean oder eine Collection (in der dann mehrer Objecte sind) sein muss, nicht jedoch Integer
Kann ich ihm das Irgendwie beibringen?
Wenn ich es umstelle auf eine "Objectigere" Query alà
Select Object(e) from tab1 e where e.id = select max(f.id) from tab1 f
Dann meckert er schon, das das querry ungültig sei (habs auch schon mit klammern beim subquerry versucht)
Ich meine ich könnte auch wieder per FindAll rangehen..mir alle Ids in ein Feld packen und dann anschließend die größte dort herraus extrahieren (war meine erste Lösung) nur ist das ja keine besonders schöne Lösung
