2009-05-06 4 views
1

Ich mache ein paar seltsame Berichte aus einem JPA-Datenspeicher.Wie wähle ich eine Sammlung von Entitäten aus und übergebe sie mithilfe von EJBQL als Parameter an eine Bean?

Ich muss (mit EJBQL) eine Liste von Objekten auswählen. Diese Objekte enthalten eine Auflistung von Entitäten. Ich habe eine Klasse, die von aufgebaut ist:

FOOBean(String param1, 
    String param2, 
    List<Entity> listParam) 

(beachten Sie, dass dritte Parameter ist eine Liste)

Und ich möchte eine Liste dieser Bohnen wählen GROUP BY verwenden, listParam holen entlang, so möchte ich Um eine Abfrage zu schreiben, die wie folgt funktioniert:

 SELECT new FOOBean(
       e1.param1, 
       e1.param2, 
       e1) 
       FROM Entity e1 
       GROUP BY e1.param1, e1.param2 

So gruppierte Entitäten werden in eine Liste abgerufen und in den dritten Parameter eingefügt. Ist es möglich, dies zu tun, oder muss ich zwei Abfragen erstellen, die unterschiedliche Paare von param1 und param2 auswählt; und holt alle Entitäten mit entsprechenden Param-Werten?

Antwort

1

Es ist nicht möglich, zumindest in JPA 1.0 (und ich bezweifle, dass in JPA 2.0 es anders ist).

+0

Leider ist dies wahr. –

0

ich denke, es wäre viel besser, das Objekt auf der Grundlage Ihrer Bedingung abzurufen & dann @OneToMany annotaion in Ihrem Unternehmen verwendet, um die Liste einzurichten.

Verwandte Themen